Tipp 2.24 - Sommerzeit & Winterzeit
Wie kann ich die Sommerzeit bzw. Winterzeit im Voraus errechnen?
Na, haben Sie dieses Jahr auch verschlafen
? In den Mitgliedstaaten der EU wird jedes Jahr am letzten Sonntag im März um 2 Uhr morgens die Zeit um eine Stunde vorgestellt. Die Sommerzeit endet immer am letzten Sonntag im Oktober um 3 Uhr morgens (Winterzeit, hier wird die Uhrzeit wieder um eine Stunde zurückgestellt).
Damit Sie zukünftig ein bissel vorausplanen können, haben wir Ihnen eine kleine Funktion vorbereitet, die Ihnen diese Termine errechnet. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Beispiel:
' Für die Auswahl der Zeitumstellung Public Enum eClockChange eSummertime = 1 eWintertime = 2 End Enum Public Function DaylightSaving(plYear As Long, _ peSavingTime As eClockChange) _ As Date '// ----------------------------------------------------- '// Methode | Ermittelt die Sommer- bzw. Winterzeit ' eines Jahres '// ----------------------------------------------------- '// Parameter | plYear - gewünschtes Jahr ' peSavingTime - Sommer-/Winterzeit '// ----------------------------------------------------- '// Rückgabe | Date = Ermitteltes Datum '// ----------------------------------------------------- '// Erstellt | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- '// Beispielaufruf: '// ?DaylightSaving(2006,eWintertime) '// ----------------------------------------------------- Dim dtDaySaving As Date If peSavingTime = eSummertime Then dtDaySaving = DateSerial(plYear, 3, 31) Else dtDaySaving = DateSerial(plYear, 10, 31) End If dtDaySaving = DateAdd("d", -DatePart("w", dtDaySaving, _ vbMonday) _ Mod 7, dtDaySaving) DaylightSaving = dtDaySaving End Function