ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

converter data

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
lfgdf
Novato
Novato


Registrado: Domingo, 29 de Novembro de 2009
Mensagens: 49

MensagemEnviada: Dom Mar 28, 2010 4:45 pm    Assunto: converter data Responder com Citação

gostaria de saber como faço para converter data do tipo 2010-03-12 para
12/03/2010. obs essa data é uma string
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Dom Mar 28, 2010 5:06 pm    Assunto: Re: converter data Responder com Citação

lfgdf escreveu:
gostaria de saber como faço para converter data do tipo 2010-03-12 para
12/03/2010. obs essa data é uma string
Se é string use a função COPY


Exemplo

Código:
var
  _data1, _data2 : string;
begin
  _data1 := '2010-03-12';

  _data2 := copy(_data1,9,2)+'/'+copy(_data1, 6,2)+'/'+ copy(_data1, 1,4);

  ShowMessage(_data2);

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
lfgdf
Novato
Novato


Registrado: Domingo, 29 de Novembro de 2009
Mensagens: 49

MensagemEnviada: Dom Mar 28, 2010 5:45 pm    Assunto: Responder com Citação

colega, funcionou, em partes. pois eu fiz do jeito q vc falou e na hora de exibir no meu dbedit, so aparece o dia, o mes e ano nao aparece, pq sera?

obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Dom Mar 28, 2010 7:20 pm    Assunto: Responder com Citação

lfgdf escreveu:
colega, funcionou, em partes. pois eu fiz do jeito q vc falou e na hora de exibir no meu dbedit, so aparece o dia, o mes e ano nao aparece, pq sera?

obrigado
Não se se no seu dbedit tem limitadores de caracteres ou se por exemplo o campo que vc criou conta apenas com 2 char, se form mesmo que 10 char ai não aparece mesmo

Nos testes que fiz aqui com campo 10 char
Veja
Código:
function _Transf_data(_adate : string) : string;
begin

  _Transf_data := copy(_adate,9,2)+'/'+copy(_adate, 6,2)+'/'+ copy(_adate, 1,4);

end;


Código:


 _data1 := '2010-03-12';
  Edit1.Text := _Transf_data(_data1);


Tente fazer diretamente no seu dataset

Exemplo

Código:
 _data1 := '2010-03-12';
seudataset.fieldbyname('campo').asstring := _Transf_data(_data1);

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
thiago.moreira
Novato
Novato


Registrado: Quinta-Feira, 11 de Março de 2010
Mensagens: 8

MensagemEnviada: Seg Mar 29, 2010 10:14 am    Assunto: Responder com Citação

Veja um exmplo facil

Código:
procedure TForm1.Btn1Click(Sender: TObject);
var
  S: string;
  D: TDateTime;
  T: TFormatSettings;
begin
  S := '2010-03-12';

  T.ShortDateFormat := 'yyyy-mm-dd';
  T.DateSeparator := '-';

  D := StrToDate(S, T);

  ShowMessage(DateToStr(D));
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Mar 29, 2010 10:35 am    Assunto: Responder com Citação

ou vc pode fazer assim:

ShowMessage(FormatDateTime('dd-mm-yyy', Date));

ou usar a variável de ambiente que nosso amigo citou e lembrando de vc não esquecer de retornar ao antigo formato para que não prejudique outras telas do seu programa que vc não quer que apareça neste formato:
ShortDateFormat := 'dd-mm-yyyy';
ShowMessage(DateToStr(Date));


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Seg Mar 29, 2010 11:37 am    Assunto: Responder com Citação

johnny-walker escreveu:
ou vc pode fazer assim:

ShowMessage(FormatDateTime('dd-mm-yyy', Date));

ou usar a variável de ambiente que nosso amigo citou e lembrando de vc não esquecer de retornar ao antigo formato para que não prejudique outras telas do seu programa que vc não quer que apareça neste formato:
ShortDateFormat := 'dd-mm-yyyy';
ShowMessage(DateToStr(Date));


bye



mas no caso dele não precisa voltar.

pq ele usou outra variavel e não a do sysutils
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB