Linuxový čas
Funkcia na konverziu z TDateTime na linuxový čas.
function TimeStampHumanToUnix(const HumanStamp: tDateTime; UseBias: boolean): cardinal; var iTime: integer; hh, mm, ss, ms: word; TZI: TTimeZoneInformation; const FirstOf1970 = 25569; //[s] since 30.12.1899 to 01.01.1970 OneDay = 86400; //in [s] OneHour = 3600; //in [s] OneMinute = 60; //in [s] begin Result := 0; case GetTimeZoneInformation(TZI) of $FFFFFFFF: UseBias := False; end; DecodeTime(HumanStamp, hh, mm, ss, ms); { since 1.1.1970 } iTime := (Trunc(HumanStamp) - FirstOf1970) * OneDay; iTime := iTime + (hh * OneHour); if UseBias then iTime := iTime + ((mm + TZI.Bias + TZI.DaylightBias) * OneMinute) else iTime := iTime + (mm * OneMinute); iTime := iTime + ss; if iTime < 0 then iTime := 0; Result := iTime; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(TimeStampHumanToUnix(Now, true))); end;