![]() |
Re: Abweichung von UTC bekommen
Zitat:
Zitat:
|
Re: Abweichung von UTC bekommen
Ich dachte immer DayLight heißt Tageslicht :|
|
Re: Abweichung von UTC bekommen
*den Namen zu "René Descartes" wechsel*
Die Sommerzeit heißt im Englischen "Daylight Saving Time" oder kurz DST. *wieder Benjamin bin* |
Re: Abweichung von UTC bekommen
Zitat:
|
Re: Abweichung von UTC bekommen
Hab den Code jetzt ein bisschen modifiziert. Bekomme jetzt aber -2 Stunden:
Delphi-Quellcode:
function TXSPF.GetTimeZoneBias:String;
var tzi : TTimeZoneInformation; begin case GetTimeZoneInformation(tzi) of TIME_ZONE_ID_STANDARD: result := intToStr(tzi.Bias div 60); TIME_ZONE_ID_DAYLIGHT: // Sommerzeit Result := IntToStr((tzi.Bias + tzi.DaylightBias) div 60); else Result := '00'; end; end; |
Re: Abweichung von UTC bekommen
Man vergleiche:
shmia:
Delphi-Quellcode:
du:
function GetTimeZoneBias:TDateTime;
const MINUTES_PER_DAY = 24.0 * 60.0; var tzi : TTimeZoneInformation; begin case GetTimeZoneInformation(tzi) of TIME_ZONE_ID_STANDARD: result := (tzi.Bias) / MINUTES_PER_DAY; TIME_ZONE_ID_DAYLIGHT: // Sommerzeit Result := (tzi.Bias+tzi.DaylightBias) / MINUTES_PER_DAY; else Result := 0.0; end; end;
Delphi-Quellcode:
function TXSPF.GetTimeZoneBias:String;
var tzi : TTimeZoneInformation; begin case GetTimeZoneInformation(tzi) of TIME_ZONE_ID_STANDARD: result := intToStr(tzi.Bias div 60); TIME_ZONE_ID_DAYLIGHT: // Sommerzeit Result := IntToStr((tzi.Bias + tzi.DaylightBias) div 60); else Result := '00'; end; end; |
Re: Abweichung von UTC bekommen
Wenn ich div (24 * 60) verwende, bekomme ich als Ergebniss 30. :wiejetzt:
|
Re: Abweichung von UTC bekommen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ggf wäre noch folgendes zu beachten: GetTimeZoneInformation gibt aktuellen Bias also passend zum Systemdatum zurück. Das wäre heute den 24.05.2007 die Sommerzeit, also +02:00. Wenn der HEUTE zu konvertierende Zeitpunkt z.B. der 18.02.2007 16:30 ist, so galt am 18.02.2007 aber die Normal(Winter)zeit also +01:00. 18.02.2007 16:30 --> "18.02.2007T16:30:00+02:00" wär damit falsch! Besonders interessant wird die Geschichte in den Nächten der Umstellung. Aber vielleicht denke ich ja auch zu komplizert?!? alex |
Re: Abweichung von UTC bekommen
Die Unit beinhaltet genau das was ich brauche: DateTime2XML und wieder zurück :-)
Danke. Darf man die mit einer OpenSource-Komponente weitergeben? |
Re: Abweichung von UTC bekommen
Zitat:
Wichtig ist auch die Formel : UTC = lokaleZeit + GetTimeZoneBias Folgende Zeile zeigt die Zeit nach UTC an:
Delphi-Quellcode:
Der Abstand zwischen UTC und Lokaler Zeit ist:
ShowMessage(DateTimeToStr(Now + GetTimeZoneBias)+ '[UTC]');
lokaleZeit - UTC = -GetTimeZoneBias Man beachte das Minuszeichen das sich nach der Formelumstellung ergibt!! Also alles richtig; man muss es nur richtig interpretieren:
Delphi-Quellcode:
ShowMessage('Zeitunterschied lokale Zeit zu UTC: ' +TimeToStr(-GetTimeZoneBias));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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