In Unix ist die Zeit doch Sekunden seit 1.1.1970.
1 Stunde sind 60 Minuten * 60 Sekunden -> 3600 Sekunden.
Unixzeit in Greenwich (UTC) + 3600 müsste dann doch die Uhrzeit bei uns (Berlin) ergeben?
Unsere Uhrzeit -1 Stunde ergibt UTC.
Oder irre ich da?
Also ungefähr sowas:
Delphi-Quellcode:
function DateTimeToUnixWithOffSet(const AValue: TDateTime; const AOffSet : Int64): Int64;
begin
Result := Round((AValue - UnixDateDelta) * SecsPerDay) + AOffSet;
end;
...
TimeStart := DateTimeToUnixWithOffSet(Now, -3600); // Eine Stunde zurück -> UTC
TimeEnd := DateTimeToUnixWithOffSet(Now, 3600); // Eine Stunde vor -> ergibt eine Zeitspanne von 2 Stunden
Oder eventuell:
TimeStart := DateTimeToUnix(DateTime2UnivDateTime(DecHour(Now, 1)));
Nur hab' ich keine Ahnung, ob es DecHour gibt, Google findet es jedenfalls nicht.
Kann IncHour auch mit negativen Zahlen umgehen? Dann
TimeStart := DateTimeToUnix(DateTime2UnivDateTime(IncHour(Now, -1)));