2010-12-12 8 views

Antwort

29

Sie suchen

function DateTimeToUnix(const AValue: TDateTime): Int64; 

und

function UnixToDateTime(const AValue: Int64): TDateTime; 

Funktionen von DateUtils.pas

TDateTime-Wert kann durch FormatDateTime Funktion

15

Dies ist viel schneller formatiert werden

// 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 danke. Ich tue es nicht zu oft, aber das ist nützlich zu wissen – Mawg

+1

Beachten Sie, dass DateTimeToUNIXTimeFAST einen leichten Unterschied zu der DateUtils-Version hat, wenn Millisekunden = 500..999, DateUtils wird rückwärts runden, während FAST-Version auf die nächste aufgerundet wird zweite. – hikari

+0

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

Verwandte Themen