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 2  1 2      
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 13: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.662 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 13: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
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14: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 DeddyH
DeddyH

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:08
Gibt es das dort auch? AFAIK ist das eine rein europäische Erfindung.
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:11
Gibt es das dort auch? AFAIK ist das eine rein europäische Erfindung.
Diese Erfindung gab es schon, wo noch keiner was von EU wusste
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.662 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:13
Gerade gefunden: http://www.zeitumstellung.de/zeitums...rnational.html
Zitat:
In den US-Bundesstaaten Arizona, Hawaii und Teilen von Indiana sowie in Puerto Rico, Guam, den Virgin Islands und American Samoa gibt es keine Zeitumstellung (vielen Dank an Herrn Wolfgang Buehrer/ Atlanta, für diese Info).
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 Jonas Shinaniganz
Jonas Shinaniganz

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:14
"No daylight saving time" Hat er doch im ersten Post geschrieben...
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Chriscode

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14: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
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:23
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
Schau dir mal StrToDateTime / TryToStrDateTime an. Dazu das Gegenstück: FormatDateTime. Kann sein, dass ich jetzt was mit PHP verwechsel, aber imho konntest du beim Datumsformat auch irgendwas mit Zeitzonen angeben. Aber wie schon gesagt ... Wahrscheinlich verwechsel ich da grad was mit PHP.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Zeitumrechnung möglich?

  Alt 25. Sep 2012, 14:56
Ich habe es nicht getestet (und evtl. auch wieder zu kompliziert gedacht), aber klappt das hier?
Delphi-Quellcode:
uses DateUtils;

function ArizonaTimeToMEZ(aDateTime: TDateTime): TDateTime;
const
  UTC_DIFF = 7;
  SUMMERTIME_RELEVANTHOUR = 2;

  function UTCToMEZ(aDateTime: TDateTime): TDateTime;
  var
    SummerTimeStart, SummerTimeEnd: TDateTime;
    Year: word;

    function LastDayOfWeekOfMonth(Year, month: Integer; DayOfWeek: word): TDate;
    var
      temp: TDate;
    begin
      temp := IncMonth(EncodeDate(Year, month, 1));
      Result := IncDay(temp, (DayOfWeek - DayOfTheWeek(temp) + DaysPerWeek)
        mod DaysPerWeek - DaysPerWeek);
    end;

  begin
    Year := YearOf(aDateTime);
    SummerTimeStart := LastDayOfWeekOfMonth(Year, MonthMarch, DaySunday);
    SummerTimeStart := IncHour(DateOf(SummerTimeStart), SUMMERTIME_RELEVANTHOUR);
    SummerTimeEnd := LastDayOfWeekOfMonth(Year, MonthOctober, DaySunday);
    SummerTimeEnd := IncHour(DateOf(SummerTimeEnd), SUMMERTIME_RELEVANTHOUR);
    Result := aDateTime;
    if DateTimeInRange(aDateTime, SummerTimeStart, SummerTimeEnd) then
      Result := IncHour(Result);
  end;

begin
  Result := UTCToMEZ(IncHour(aDateTime, UTC_DIFF));
end;
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

Geändert von DeddyH (25. Sep 2012 um 15:04 Uhr) Grund: Denkfehler gefunden und korrigiert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:41 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