2010-12-12 22 views

Respuesta

29

Usted está buscando

function DateTimeToUnix(const AValue: TDateTime): Int64; 

y

function UnixToDateTime(const AValue: Int64): TDateTime; 

funciones de DateUtils.pas

TDateTime valor puede ser formateada por FormatDateTime función

15

Esto es mucho más rápido

// 4x faster than dateutils version 
function UNIXTimeToDateTimeFAST(UnixTime: LongWord): TDateTime; 
begin 
Result := (UnixTime/86400) + 25569; 
end; 

// 10x faster than dateutils version 
function DateTimeToUNIXTimeFAST(DelphiTime : TDateTime): LongWord; 
begin 
Result := Round((DelphiTime - 25569) * 86400); 
end; 
+0

+1 gracias. No lo hago con demasiada frecuencia, pero esto es útil para saber – Mawg

+1

Tenga en cuenta que DateTimeToUNIXTimeFAST tiene una ligera diferencia con la versión de DateUtils, si milisegundos = 500..999, DateUtils se redondeará hacia atrás, mientras que la versión FAST redondeará hacia la siguiente segundo. – hikari

+0

Resultado: = Trunc ((DelphiTime - 25569) * 86400); – wittrup

Cuestiones relacionadas