![]() |
Nur Mittel Europäsche Winterzeitzeit (MEZ)
Hallo
Mein Problem ist, das im Countdownzähler nicht das die Sommerzeit umgeschalten wird. Wie hier in den link ![]() mein Quellcode ist
Delphi-Quellcode:
Aber leider funktioniert es nicht so, kann mir da mal jemand Helfen.
function TForm1.GetMEZ: TDateTime;
var ST : SystemTime; TZ : TTimeZoneInformation; begin DecodeDateTime(Now,ST.wYear,ST.wMonth,ST.wDay,ST.wHour,ST.wMinute,ST.wSecond,ST.wMilliseconds); GetTimeZoneInformation(TZ); if TZ.DaylightBias >= 0 then begin ST.wHour := ST.wHour + TZ.Bias + TZ.StandardBias; ST.wDay := ST.wDay + TZ.Bias + TZ.StandardBias; end; Result := EncodeDateTime(ST.wYear,ST.wMonth,ST.wDay,ST.wHour,ST.wMinute,ST.wSecond,ST.wMilliseconds); end; MfG Uwe |
Re: Nur Mittel Europäsche Winterzeitzeit (MEZ)
|
Re: Nur Mittel Europäsche Winterzeitzeit (MEZ)
Hallo
Mit der Zeit habe ich es hin bekommem, aber der Tag wird nicht bei 00:00:00 abgezogen.
Delphi-Quellcode:
MfG
function TForm1.GetMEZ: TDateTime;
var ST : SystemTime; begin DecodeDateTime(Now,ST.wYear,ST.wMonth,ST.wDay,ST.wHour,ST.wMinute,ST.wSecond,ST.wMilliseconds); GetSystemTime(ST); ST.wHour := ST.wHour + 1; // Überprüfen, ob die Stunde > 24 ist if ST.wHour >= 24 then ST.wHour := ST.wHour -24 else // Überprüfen, ob die Stunde < 0; bzw bei Word > 65000 ; dann 24 Stunden hinzuzählen; if ST.wHour > 65000 then ST.wHour := ST.wHour + 24; Result := EncodeDateTime(ST.wYear,ST.wMonth,ST.wDay,ST.wHour,ST.wMinute,ST.wSecond,ST.wMilliseconds); end; Uwe |
Re: Nur Mittel Europäsche Winterzeitzeit (MEZ)
hallo
Der Tag wird erst wird erst um 2:00 Uhr abgezogen, wie kann ich das ändern. MfG Uwe |
Re: Nur Mittel Europäsche Winterzeitzeit (MEZ)
Zitat:
eine saubere Lösung wäre, Now in MEZ umzuwandeln und die Rechnung in MEZ bzw. Standardzeit durchzuführen. Aber du fragst ja noch nicht mal, ob überhaupt Sommerzeit ist. Da man nicht ganz ausschliessen kann, dass Politiker einen Anfall von Vernunft haben, sollte man auch berücksichtigen, dass die Sommerzeit womöglich abgeschafft wird, aber das ergibt sich bei einer korrekten Abfrage automatisch. Gruss Reinhard |
Re: Nur Mittel Europäsche Winterzeitzeit (MEZ)
Ich schlage vor man holt sich die
![]() Für die UTC Zeit gibt es folgende Unit: ![]() Demnach wäre MEZ:
Delphi-Quellcode:
function NowMEZ:TDateTime;
const ONE_HOUR = 1.0/24.0; begin result := NowUTC + ONE_HOUR; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 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