AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitumrechnung möglich?

Ein Thema von Chriscode · begonnen am 25. Sep 2012 · letzter Beitrag vom 26. Sep 2012
Antwort Antwort
Seite 1 von 3  1 23      
Chriscode

Registriert seit: 18. Aug 2009
32 Beiträge
 
#1

Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:12
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:
http://www.timeanddate.com/worldclock/city.html?n=197

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
Chris
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:16
Warum nicht möglich?

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]
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Chriscode

Registriert seit: 18. Aug 2009
32 Beiträge
 
#3

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:39
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
Chris
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:49
TDateTime besteht aus Datums- und Zeitanteil, von daher verstehe ich diese Frage nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:51
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:59
Wenn ich keinen Denkfehler mache, braucht man doch "nur" eine Hilfsfunktion UTCToMESZ, die die Regel (Quelle: Wikipedia):
Zitat:
Die Umstellung von der Normal- auf die Sommerzeit findet am letzten Sonntag im März um 1 Uhr UTC, also in der mitteleuropäischen Zeitzone von 2 Uhr MEZ auf 3 Uhr MESZ, statt.
Die Umstellung von der Sommer- auf die Normalzeit findet am letzten Sonntag im Oktober um 1 Uhr UTC, also in der mitteleuropäischen Zeitzone von 3 Uhr MESZ auf 2 Uhr MEZ, statt.
berücksichtigt. Man berechnet also "Phoenix-Time" + 7 Stunden und lässt das dann durch die Hilfsfunktion laufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Chriscode

Registriert seit: 18. Aug 2009
32 Beiträge
 
#7

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 15:00
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
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 15:05
Vielleicht wirst du ja hier fündig: delphi-tzdb: Time Zone Database for Delphi
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 15:06
Wenn ich keinen Denkfehler mache, braucht man doch "nur" eine Hilfsfunktion UTCToMESZ, die die Regel (Quelle: Wikipedia):
Zitat:
Die Umstellung von der Normal- auf die Sommerzeit findet am letzten Sonntag im März um 1 Uhr UTC, also in der mitteleuropäischen Zeitzone von 2 Uhr MEZ auf 3 Uhr MESZ, statt.
Die Umstellung von der Sommer- auf die Normalzeit findet am letzten Sonntag im Oktober um 1 Uhr UTC, also in der mitteleuropäischen Zeitzone von 3 Uhr MESZ auf 2 Uhr MEZ, statt.
berücksichtigt. Man berechnet also "Phoenix-Time" + 7 Stunden und lässt das dann durch die Hilfsfunktion laufen.
Und hat Phoenix zu dem Zeitpunkt Sommer oder Winterzeit?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#10

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 15:07
Delphi hat eine ganze Menge anzubieten.

http://docwiki.embarcadero.com/RADSt...um_und_Uhrzeit

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
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz