Datum Winterzeit
    
 HomeDatum • Code-Schnipsel Datum Winterzeit Beispiel  Quellcode 

 Code-Schnipsel - Datum Beginn der Winterzeit   Datum

Sammlung von Code-Schnipseln mit Bezug auf Datums-Funktionen. In diesem Beispiel wird das Datum der Umstellung auf die Winterzeit des aktuellen Jahres einer Variablen zugeordnet und mit einer JavaScript-Schreibanweisung in die HTML-Datei geschrieben.

Datum für die Umstellung auf die Winterzeit ermitteln

Grundlagen-Informationen zum Date-Objekt unter Einführung 01  Einführung 02


Anwendung findet dieses Code-Schnipsel in Verbindung mit anderen, aus dem Systemdatum ermittelten Werten, zum Beispiel für: Datumsprüfung, Umleitungen, Kalenderfunktionen, Kirchenblatt, Terminlisten, Schichtpläne; Arbeitszeitberechnung, ...  .

Grafik zum Download rechtsklicken.


Mit dem Beginn der Winterzeit werden in Deutschland am letzten Sonntag im Oktober um 03:00 Uhr die Uhren um eine Stunde zurück gestellt. Das Datum für diesen Termin errechnet dieses Script-Modul. So merkt sich Jupp Zupp die Regel:

Sommerzeit: Die Gartenstühle werden vor die Tür gestellt!
Winterzeit: Die Gartenstühle werden zurück in den Keller gestellt!



Aufwand für den Webmaster

1) JavaScript-Anweisungen im Head notieren
2) JavaScript-Schreibanweisung im Body notieren


Bitte entnehmen Sie den gesamten Quellcode für dieses Beispiel der Textdatei (Link oben im Kopfbereich). Dort können Sie ebenfalls eine Demo- bzw. eine Beispieldatei abrufen. Infos und Erklärungen zum 'Einbauen' von JavaScript finden Sie im JavaScript Menü 01 oder gezielt auf der Seite Kurzinfo JavaScript 'einbauen'




   Arbeitsschritte

Die Umstellung auf die Winterzeit findet am letzten Sonntag im Oktober statt (um 3:00 Uhr wird die Uhr um eine Stunde zurückgestellt). Ich möchte herausfinden, auf welches Datum der letzte Sonntag im Oktober fällt. Dazu schaue ich mir zunächst an, welcher Wochentag am 31. Oktober ist.

Als Basis für meine Berechnungen benötige ich also erst einmal eine Datumsvariable, die als Wert das Datum des 31. Oktober des aktuellen Jahres hat. Diese Variable mit dem Namen 'LetzterTagOktober' schaffe ich mit den nächsten drei Schritten:

1) Ein neues Date-Objekt (LetzterTagOktober) wird kreiert
2) Für Tag und Monat lege ich den 31. und Oktober fest
3) Für das Jahr wird (hier) der aktuelle Jahreswert festgelegt
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();

// Datum auf den 31 Oktober des laufenden Jahres setzen
var LetzterTagOktober = new Date(JahrAktuell, 2, 31, 12, 0, 0)
Nun möchte ich herausfinden, auf welchen Wochentag der 31. Oktober fällt.

4) Aus diesem Wert wird mit getDay() der Wochentag ermittelt
5) Der ermittelte Wert wird in eine Variable (TagDerWoche) geschrieben
var TagDerWoche = LetzterTagOktober.getDay()


Der Wert ist eine Zahl von 0 - 6. Der Zählvorgang beginnt also mit 0 und kann als Höchstwert maximal 6 sein. Er repräsentiert den Tag der Woche beginnend mit 0 für Sonntag.

So = 0, Mo = 1, Di = 2, Mi = 3, ...

Abhängig vom Wochentag muss ich zur Ermittlung des davor liegenden Sonntags vordatieren. Den Datumswert für LetzterTagOktober wandle ich in einen Millisekundenwert um, um dan X mal 86400000 ms (1 Tag = 86400000 ms) zu subtrahieren. Fällt der 31. Oktober z.B. auf einen Samstag, muss ich um 6 Tage zurück rechnen (entsprechend 6 X 86400000 ms subtrahieren).

6) zeitlichen Versatz berechnen
7) Datum ermitteln und in eine Variable (LetzterSoOktober) schreiben
var ZeitwertLetzterTagOktober = LetzterTagOktober.getTime()

// für den letzten Sonntag vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 0 : TagDerWoche) * 86400000;
LetzterSoOktober.setTime(ZeitwertLetzterTagOktober - Verschiebung);


Nun möchte ich die Informationen aus LetzterSoOktober in ein normales Datumsformat transformieren, in eine Variable (DatumString) schreiben und anzeigen.

8) Tag, Monat und Jahresinfo aus LetzterSoOktober extrahieren
9) Als Datumsformat in eine Variable (DatumString) schreiben
var TagDatum = LetzterSoOktober.getDate();
var MonatDatum = LetzterSoOktober.getMonth() + 1;
var JahrDatum = LetzterSoOktober.getFullYear();
var DatumString = TagDatum + "." + MonatDatum + "." + JahrDatum;



Den ermittelten Wert kann man innerhalb einer Funktion weiter verarbeiten
oder auch sofort zur Anzeige bringen.

a) Schreiben mit document.write()
document.write('Umstellung auf Winterzeit am: '+ DatumString);
b) Alert-Meldung mit alert()
alert('Umstellung auf Winterzeit am: '+ DatumString);

Ergebnis:

a)

b) Alert-Meldung
zur Kontrolle:






ScriptCode

<script type="text/javascript" language="JavaScript">
<!--

var LetzterSoOktober = new Date();
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();

// Datum auf den 31 Oktober des laufenden Jahres setzen
var LetzterTagOktober = new Date(JahrAktuell, 9, 31, 12, 0, 0)

var TagDerWoche = LetzterTagOktober.getDay()
var ZeitwertLetzterTagOktober = LetzterTagOktober.getTime()

// für den letzten Sonntag vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 0 : TagDerWoche) * 86400000;
LetzterSoOktober.setTime(ZeitwertLetzterTagOktober - Verschiebung);

var TagDatum = LetzterSoOktober.getDate();
var MonatDatum = LetzterSoOktober.getMonth() + 1;
var JahrDatum = LetzterSoOktober.getFullYear();
var DatumString = TagDatum + "." + MonatDatum + "." + JahrDatum;

document.write("Umstellung auf Winterzeit am: " + DatumString);

//-->
</script>








Code-Schnipsel - Datum des 1. Advent berechnen

Code-Schnipsel - Datum Buß- und Bettag berechnen

Code-Schnipsel - Datum Beginn der Sommerzeit berechnen