![]() |
DateTimeToUnix 1 stunde zurück
DateTimeToUnix hat in neueren Versionen von Delphi 2 Parameter.
Delphi-Quellcode:
AInputIsUTC: Boolean der 2 Parameter den gibt es nicht unter D2010.
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; Wie kann ich nun die Zeit übergeben das ich in unserer Zeitzone liege. bsp. 5 Uhr und nicht 4 In 10.4 schalte ich dazu den parameter AInputIsUTC auf false. Wie ich schon sagte das geht so nicht unter D2010. Das Problem ich liege mit allen Sendungen um 1 Stunde zurück und die EPG Daten stimmen dann nicht. Ich muss die Unix zeit schicken da ansonsten mein send String einen Fehler zurück gibt.
Delphi-Quellcode:
function DateTimeToUnix(const AValue: TDateTime): Int64;
begin Result := Round((AValue - UnixDateDelta) * SecsPerDay); end; |
AW: DateTimeToUnix 1 stunde zurück
.. geht es in D2010 wenn Du den Wert nicht als raw TDateTime übergibst
sonder ihn erst in den UTC Zeitbereich bringst?
Delphi-Quellcode:
Grüße
TTimeZone.Local.ToUniversalTime(AValue);
Klaus |
AW: DateTimeToUnix 1 stunde zurück
Zitat:
Das habe ich.
Delphi-Quellcode:
Der Aufruf
function DateTimeToUnix(const AValue: TDateTime): Int64;
begin Result := Round((AValue - UnixDateDelta) * SecsPerDay); end;
Delphi-Quellcode:
was soll ich jetzt wohin übergeben?
TimeStart := DateTimeToUnix(IncHour(Now, 0));
TimeEnd := DateTimeToUnix(IncDay(Now, 1)); |
AW: DateTimeToUnix 1 stunde zurück
Delphi-Quellcode:
oder beim Aufruf
function DateTimeToUnix(const AValue: TDateTime): Int64;
begin aValue := TTimeZone.Local.ToUniversalTime(AValue); Result := Round((AValue - UnixDateDelta) * SecsPerDay); end;
Delphi-Quellcode:
Grüße
TimeStart := DateTimeToUnix(IncHour( TTimeZone.Local.ToUniversalTime(Now), 0));
Klaus |
AW: DateTimeToUnix 1 stunde zurück
Zitat:
wo ist TTimeZone definiert welche unit? In DateUtils jedenfalls nicht. Danke. |
AW: DateTimeToUnix 1 stunde zurück
Zitat:
Dann scheint es diese Routine für D2010 nicht zu geben. Vielleicht hilft Dir das dann weiter -> ![]() |
AW: DateTimeToUnix 1 stunde zurück
Zitat:
Welche Möglichkeit gibt es denn sonst noch das muss doch irgendwie gehen. |
AW: DateTimeToUnix 1 stunde zurück
|
AW: DateTimeToUnix 1 stunde zurück
Zitat:
Nutzt mir nichts die Rückgabe von DateTimeToUnix ist Int64 kein TDateTime. Verstehe ich nicht wie hat man das denn unter D2010 geregelt denn das dürfte ja so neu nicht sein. |
AW: DateTimeToUnix 1 stunde zurück
.. wen Du das TDateTime Ergebnis zu einem Unix-Timestamp wandelst - dann hast Du wieder Int64.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz