Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Berechnung:Ist grade Sommerzeit in einer bestimmter Zeit

  Alt 24. Nov 2009, 16:07
Zitat von himitsu:
Ist doch einfach
- du hast 'ne Definition "letzter Sonntag vor dem 1. Oktober"
- also nimmt man sich das Datum und sucht den Sonntag davor.

Das kann man jetzt einfach mit 'ner Schleife machen oder man versucht sich an Mathe
> DayOfWeek oder DayOfTheWeek und dann rechnen

Delphi-Quellcode:
T := TDateTime(1. Oktober des Jahres) - 1;
T := T - (6 - DayOfWeek(T));
(vermutlich)
Das war mir schon klar, das ich die Regel "nur" umsetzten brauche. Ich hatte mich nur gefragt ob mir das evtl. Windows nicht
selber sagen kann, um mir den Aufwand zu sparen für alle Länder/Zeitzonen mit Sommerzeit solch eine Abfrage zu bauen. Da sich
solche Sachen ja auch mal ändern können. Ich hatte mal gesehen das Win XP Änderung an irgendwelchen Zeitregelungen per Update
mitgeteilt worden sind, dann würde mein Programm solange "richtig" laufen wie Windows XP selbst korrekt die Zeitumstellungen
kennt.

Windows müsste das doch selbst wissen nur ich frag mich wie ich an diese Information heran komme, ich hatte schon überlegt ob
man die System-Zeitzone auf die gewünschte ändert und dann eine Abfrage macht ob Sommerzeit aktiv ist oder nicht. Besonders
elegant fände ich das zwar nicht, aber selbst diese Lösung wüsste ich gerade nicht zu realisieren.

Ich denke und befürchte ich komme um ein "Gebilde" wie folgt nicht herum.
Zitat:
function IsSummerTime(Zone);

case ZeitZone of
Neuseeland : begin
//Regelung Siehe oben
result := True;
end;

Europa : begin
....
result := False;
end;
end;

....
end;
  Mit Zitat antworten Zitat