PDA

Ver la Versión Completa : pasar milisegundos a formato de fecha


emeceuy
13-06-2007, 00:41:51
hola a todos amigos...

es una pregunta bastante sencilla creo, pero busqué en el foro y en internet y no consegui respuesta:

tengo una base de datos, en un campo se guarda el timestamp, como un entero (en milisegundos)... necesito convertir ese entero en tiempo con formato (dia/mes/año, HH:mm:ss.z) y no logro hacerlo !

como hago para convertir ese entero en formato de fecha? luego el formato se lo doy yo...

muchas gracias ! ;)

seoane
13-06-2007, 01:43:36
Bueno, teniendo en cuenta que una variable de timpo TDateTime lo que almacena son dias trasncurridos a partir de una fecha, podriamos hacer algo asi:

function msToDateTime(ms: int64): TDateTime;
begin
Result:= ms / (1000*60*60*24);
end;

Aunque ambos pueden empezar a contar desde momentos diferentes así que puede que tengas que hacer algo como esto:

function msToDateTime(ms: int64): TDateTime;
begin
Result:= Correcion + (ms / (1000*60*60*24));
end;

Donde corrección es una fecha que puedes averiguar fácilmente sabiendo la fecha a la que corresponde un cierto número de milisegundos.