2 Stimmen

Historische Sommerzeit in Windows

Gibt es eine einfache Möglichkeit, in Windows (mit Delphi, nicht .NET) UTC-Zeiten in eine lokale Zeit zu konvertieren, mit Sommerzeit-Anpassungen.

Die Daten reichen 12 Jahre zurück, so dass die Änderungen bei Beginn und Ende der Sommerzeit in dieser Zeit berücksichtigt werden müssen.

2voto

Dean Harding Punkte 69243

Da Windows keine historischen Daten speichert, müssen Sie eine Datenbank wie die tz-Datenbank . Ich konnte auf dieser Seite keinen Delphi-Code finden, aber vielleicht gibt es ja noch welchen. Andernfalls müssen Sie ihn aus einer der Sprachen portieren, die sind derzeit unterstützt...

2voto

Jeroen Wiert Pluimers Punkte 23370

Lustigerweise tauchte gestern auf LinkedIn eine sehr ähnliche Frage auf.

Dies ist die Antwort, die ich dort gegeben habe:

Die Zeitzonen sind etwas fließend, vor allem, wenn die Sommerzeit beginnt/endet.

Diese Datenbank ( http://en.wikipedia.org/wiki/Tz_database ) definiert die Zeitzonen, und es ändert sich manchmal, daher brauchen Sie einen Aktualisierungsmechanismus.

Es gibt eine .NET-Implementierung, die Sie einpacken oder als Basis verwenden können: http://www.codeproject.com/KB/locale/zoneinfo_dotnet_api.aspx

Ich bin mir nicht sicher, wie aktuell diese Delphi-Implementierung ist: http://sourceforge.net/projects/delphitz/

Teilen Sie uns Ihre endgültige Umsetzung mit.

Edit : Das oben erwähnte Projekt scheint leer zu sein, also suchte ich weiter und fand das Delphi TimeZone Datenbank Projekt noch aktiv zu sein.

--jeroen

0voto

lkessler Punkte 19628

Wie wäre es damit: Konvertieren von UTC-String in TDatetime in Delphi

Außerdem gibt es eine Diskussion und Delphi-Code für diese Vorgehensweise unter: http://www.tek-tips.com/viewthread.cfm?qid=1486209&page=1

Mit einer Google-Suche können Sie eine ganze Menge darüber herausfinden: utc lokal delphi

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X