PDA

Ver la Versión Completa : Convertir milisegundos a fecha


andre
04-07-2003, 15:14:42
Hola amigos,

Como puedo convertir un numero que representa milisegundos a algun tipo fecha?

Muchas gracias.

delphi.com.ar
04-07-2003, 16:45:58
Te recomiendo leer la explicación de este hilo http://www.clubdelphi.com/foros/showthread.php?s=&threadid=1581 y podrás hacer algo así:


var
MiFecha: TDateTime;
begin
MiFecha := MiliSegundos * MILLISECOND;
end;


Saludos!

delphi.com.ar
04-07-2003, 16:48:16
Ma faltó otra opción, puede ser usando la función EncodeTime

Saludos!

andre
04-07-2003, 17:20:40
Perdon porque no fui claro en mi pregunta.
Utilizo un parametro en el sistema que representa una fecha especifica. Este parametro lo consulto con java tambien, asi que opte por almacenarlo en milisegundos porque java lo maneja asi solo que lo hace automaticamente a partir de 01/01/1970, entonces aplicando la solucion anterior al numero 1058324400000 que representa la cantidad de milisegundos hasta 16/07/2003 el resultado fue 14/07/1933.

La solucion que encontre fue la siguiente:

var
Fecha := TDateTime;
begin
Fecha := StrToDate('01/01/1970');
Fecha := IncMilliSecond(Fecha, 1058324400000);


Muchas gracias.

delphi.com.ar
04-07-2003, 17:57:50
Verdaderamente entendí otra cosa, pero comento para los que aún utilizan versiones "antiguas" de Delphi, como yo, se puede hacer con lo que pasé anteriormente:

var
MiFecha: TDateTime;
begin
MiFecha := StrToDate('01/01/1970') + (1058324400000 * MILLISECOND);
end;


Obviamente que existiendo la función IncMilliSecond, y si no necesitamos que nuestro código sea compatible con versiones anteriores, recomiendo usarla.

Saludos!

andre
07-07-2003, 19:55:58
OK, muchas gracias delphi.com.ar por tu tiempo.

Saludos.