![]() |
Zeitumrechnung möglich?
Hallo zusammen,
ich würde gerne wissen ob es möglich ist eine Datums und Zeitangabe in eine andere Zeitzone umzurechnen? Konkret möchte ich gerne Datum und Zeitangaben aus Phoenix (Arizona) in die deutsche Zeit umrechnen: ![]() Die Zeitzone dort ist demnach UTC/GMT -7 hours, weitere Besonderheit: "No daylight saving time" Offen gesagt frage ich mich wirklich ob sich sowas überhaut realisieren lässt. Die Funktion müsste ja auch den Kalender berücksichtigen und Sommer/Winterzeit. Lässt sich sowas mit Delphi realisieren? Wenn ja, wie wäre euer Ansatz? Vielen Dank! LG, Chris |
AW: Zeitumrechnung möglich?
Warum nicht möglich? :shock:
Zielzeit = Quellzeit - [Quellzeit UTC Versatz] + [Zielzeit UTC Versatz] + [Wenn Quellzeit mit Sommerzeit und Datum im Bereich Sommerzeit, dann 1, sonst 0] - [Wenn Zielzeit mit Sommerzeit und Datum im Bereich Sommerzeit, dann 1, sonst 0] |
AW: Zeitumrechnung möglich?
Hallo,
vielen Dank für deine schnelle Antwort. Und was wäre wenn durch die Zeitverschiebung die Zeit in ein anderes Datum fällt? Dann müsste doch z.B. ein Kalender zur Rate gezogen werden und geschaut werden welches Datum der vorherige Tag war? Irgendwie habe ich so Angst das es etwas "unsauber" ist LG, Chris |
AW: Zeitumrechnung möglich?
TDateTime besteht aus Datums- und Zeitanteil, von daher verstehe ich diese Frage nicht.
|
AW: Zeitumrechnung möglich?
Genau so isses. Du müsstest dir eine Liste mit allen Sommerzeitumstellungen holen und pflegen.
BTW in Deutschland gab es auch mal eine Sommerzeit mit 2h Versatz ;) |
AW: Zeitumrechnung möglich?
Wenn ich keinen Denkfehler mache, braucht man doch "nur" eine Hilfsfunktion UTCToMESZ, die die Regel (Quelle: Wikipedia):
Zitat:
|
AW: Zeitumrechnung möglich?
Vielen Dank für eure Antworten.
Leider hört sich das ganze relativ kompliziert und für mich als Anfänger nahezu nicht umsetzbar an. Gibt es keine einfachere Möglichkeit? z.B. Datum und Zeit in einen Timestamp zu konvertieren und daraus die richtige Zeit holen? LG, Chris |
AW: Zeitumrechnung möglich?
Vielleicht wirst du ja hier fündig:
![]() |
AW: Zeitumrechnung möglich?
Zitat:
|
AW: Zeitumrechnung möglich?
Delphi hat eine ganze Menge anzubieten.
![]() Wenn du einen Ansatz brauchst: Um zb. ohne weitere Überlegungen 2 Stunden von einem DateTime abzuziehen, also die Zeit um 2 Stunden zurück zu drehen geht folgendes: DateUtils.IncHour (Wobei es auch eigtl "DecHour" ist weil du negative Werte übergeben kannst)
Delphi-Quellcode:
Jetzt : TDatetime
IncHour(Jetzt,-2); Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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