TurboDelphiからDateTimeToUnixとUnixToDateTime関数が標準で用意されているのですが、これがくせもので、標準時時刻に変換するだけ。ローカル時刻に変換する場合は、以下の通り。GetTimeZoneInformationで取得しておいて、ローカル時刻に補正します。
function UNIXTimeToDelphiDateTime(UnixTime: LongWord): TDateTime; var TimeZoneInformation: TTimeZoneInformation; begin GetTimeZoneInformation(TimeZoneInformation); Result := UnixDateDelta + (UnixTime/(24*3600)) - ((TimeZoneInformation.Bias) / (24 * 60)); end; function DelphiDateTimeToUNIXTime(DelphiTime : TDateTime): LongWord; var TimeZoneInformation: TTimeZoneInformation; begin GetTimeZoneInformation(TimeZoneInformation); Result := Round((DelphiTime - UnixDateDelta + (TimeZoneInformation.Bias / (24*60))) * SecsPerDay); end;