Fórum Gravar data com milesegundos #169970

17/07/2003

0

Pessoal,
Queria agradecer a todos que me responderam, mas estou enviando esta mensagem de novo porque ainda não consegui uma resposta que me atendesse.

Preciso gravar no BD (Firebird) uma STRING que é uma ´data´ com o formato dd/mm/yyyy hh:nn:ss:zzz (com milesegundos) porém ao converter para DateTime os milesegundos são zerados.

Veja o código:

st_evento = FormatDateTime(´dd/mm/yyyy hh:nn:ss:zzz´, Now());
dt_evento = StrToDateTime(st_evento);

Tenho um campo TimeStamp no BD e quero gravar dt_evento com os milesegundos, porém quando faço a conversão para DateTime os milesegundos retornam zerados.

Ou seja, a função StrToDateTime(st_evento) está zerando os milesegundos ...

Alguém sabe com fazer esta conversão e se existe algum parêmetro na função StrToDateTime para considerar os milésimos de segundos ?

Desde já agradeço
_________________
Jaqueline Lima
jaqueap@lupatecnologia.com.br


Jaqueline

Jaqueline

Responder

Posts

17/07/2003

4_olho

Jaqueline

Se você quer gravar a data/hora com milisegundos, então não há problema, pois a string é gerada certa. Só não entendo porque gravar em String se o campo DateTime grava a data/hora completa em formato muito menor.

Depois, sim, você dá o tratamento que quiser....

O erro está na segunda conversão, ao tentar ler o que está escrito.

Para teste criei uma aplicação com dois Labels e um botão e no clique do botão coloquei :

label1.Caption:=FormatDateTime(´dd/mm/yyyy hh:nn:ss:zzz´, Now());
label2.Caption:=DateTimetoStr(StrToDateTime(label1.Caption));

A cada clique, um resultado diferente com os milisegundos no Label1 e sem os milisegundos no Label2


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar