Fórum Gravar Data com Milisegundos #168595
09/07/2003
0
Preciso gravar no BD (Firebird) uma string que é uma ´data´ com o formato dd/mm/yyyy hh:nn:ss:zzz (com milisegundos) porem ao converter para DateTime os milesegundos são zerados.
Alguém sabe com fazer esta conversão?
Veja o código:
st_evento = FormatDateTime(´dd/mm/yyyy hh:nn:ss:zzz´, Now());
dt_evento = StrToDateTime(st_evento);
Tenho que gravar dt_evento com milesegundos porém desta forma ele retorna zerado.
Desde já agradeço
Jaqueline
Curtir tópico
+ 0Posts
09/07/2003
Aroldo Zanela
Use um campo do tipo string.
Gostei + 0
11/07/2003
Jaqueline
Neste caso se gravar a data como string qdo recuperá-la terei que convertê-la para DateTime pois preciso fazer cálculos com a data, gerar relatórios, etc . Assim continuaria com o mesmo problema de zerar os milesegundos...
Se não tiver jeito de configurar algum parêmetro na função StrToDateTime para considerar os milésimos de segundos acho que a melhor forma de resolver o problema seria gravar como double, não acha??
Jaqueline Lima
jaqueap@lupatecnologia.com.br
Gostei + 0
11/07/2003
«leandro»
o firebird aparentemente elimina os milissegundos, mas vc pode usar o campo do tipo timestamp normalmente, dar o insert naquele formato que vc usou mesmo, mas se vc executar um select neste campo o firebird omite os milissegundos, basta usar o cast p/ varchar:
select cast(campo_timestamp as varchar(24)) from tabela
ou se usar um campo do tipo time:
select cast(campo_time as varchar(13)) from tabela
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)