Delphi-Quellcode:
function DateTimeToUnix(const AValue: TDateTime; AInputIsUTC: Boolean): Int64;
var
LDate: TDateTime;
begin
if AInputIsUTC then
LDate := AValue
else
LDate := TTimeZone.Local.ToUniversalTime(AValue); // <<----
Result := SecondsBetween(UnixDateDelta, LDate);
if LDate < UnixDateDelta then
Result := -Result;
end;
mit dem Parameter "AInputIsUTC" gibts Du an, ob der übergebene Zeitwert schon auf UTC "normiert" wurde.
Bei false wird er dann im else Zweig auf UTC "normiert"