COMO CONVERTER data para numero no formato aaaammdd

Delphi

13/01/2004

Preciso converter uma data em numeros exemplo:

hojé é 13/01/2004 preciso transformar para 20040113 como procedo?



muito obrigado


Infohelp

Infohelp

Curtidas 0

Respostas

Andre0201

Andre0201

13/01/2004

proceda desta maneira;

var
nAno, nMes, nDia : word;
nData : integer;
cData : string;

begin
{Extrai o ano, o mes, o dia de uma data}
decodate(13/01/2004,nAno,nMes,nDia);
cData := FormatFloat(´0000´,nAno)+FormatFloat(´00´,nMes)+FormatFloat(´00´,nDia);
nData := strtoint(cData);
Abraços;

end;


GOSTEI 0
Infohelp

Infohelp

13/01/2004

acho que não deu certo o resultado ficou 18991230 não entendi!!!!!

pode me ajudar


GOSTEI 0
Andre0201

Andre0201

13/01/2004

use o seguinte comando:

nData := strtodate(´13/01/2004´);
cData := FormatDateTime(´yyyymmdd´,nData);


GOSTEI 0
Infohelp

Infohelp

13/01/2004

não compreendi poderia me passar o codigo já corrigido

Obrigado


GOSTEI 0
Vitor Rubio

Vitor Rubio

13/01/2004

faça o seguinte:

var
nAno, nMes, nDia : word;
nData : integer; [b:5cad87990b]//pode usar Tdatetime, é melhor[/b:5cad87990b]
cData : string;

begin
decodedate(<aqui vc poe a data, do tipo Tdatetime>,nAno,nMes,nDia); //separa o ano, mes dia nas variaveis
cData := FormatFloat(´0000´,nAno)+FormatFloat(´00´,nMes)+FormatFloat(´00´,nDia); //transforma todas as words em strings e concatena, [b:5cad87990b]mas eh melhor vc usar formatdatetime(<formato>, <data do tipo tdatetime>) que transforma uma data numa string formatada[/b:5cad87990b]
nData := strtoint(cData); [b:5cad87990b]//isto se ndata for integer, se for Tdatetime, use encodedate(nano, nmes, ndia), eh melhor[/b:5cad87990b]


veja se tudo isso é mesmo necessario, pois o delphi já tem um monte de funções para trabalhar ou formatar datas, pesquise no help ´datetime routines´ para encontrar uma variedade de funções. Os campos tipos variant dos tdatasets tambem podem retornar datas atraves da propriedade asdatetime;


OBS.: decodedate(data:tdatetime, ano:word, mes:word, dia:word) --> desmonta data //uma procedure q tem no delphi
encodedate(ano, mes, dia):Tdatetime --> monta a data e devolve ela como Tdatetime //uma função q tem no delphi

espero ter sido util;


GOSTEI 0
Paulo_amorim

Paulo_amorim

13/01/2004

Olá

MinhaString := FormatDateTime( ´yyyymmdd´, Date);

Espero que ajude
Até+


GOSTEI 0
POSTAR