Code-Schnipsel - Beginn der Sommerzeit Datum
Sammlung von Code-Schnipseln mit Bezug auf Datums-Funktionen. In diesem Beispiel wird das Datum der Umstellung auf die Sommerzeit des aktuellen Jahres einer Variablen zugeordnet und mit einer JavaScript-Schreibanweisung in die HTML-Datei geschrieben.
|
|
Datum für die Umstellung auf die Sommerzeit 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, Hinweise, ... .
Grafik zum Download rechtsklicken (wenn Sie möchten).
Weisen Sie auf den Begin der Sommerzeit hin.
|
|
Mit dem Beginn der Sommerzeit werden in Deutschland am letzten Sonntag im März um 02:00 Uhr die Uhren um eine Stunde vor 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'
meine Arbeitsschritte bei der Entwicklung
Die Umstellung auf die Sommerzeit findet am letzten Sonntag im März statt (um 2:00 Uhr wird die Uhr um eine Stunde vorgestellt). Ich möchte herausfinden, auf welches Datum der letzte Sonntag im März fällt. Dazu schaue ich mir zunächst an, welcher Wochentag der 31. März ist.
Als Basis für meine Berechnungen benötige ich also erst einmal eine Datumsvariable, die als Wert das Datum des 31. März des aktuellen Jahres hat. Diese Variable mit dem Namen 'LetzterTagMaerz' schaffe ich mit den nächsten drei Schritten:
1) Ein neues Date-Objekt (LetzterTagMaerz) wird kreiert
2) Für Tag und Monat lege ich den 31. und März fest
3) Für das Jahr wird (hier) der aktuelle Jahreswert festgelegt
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
// Datum auf den 31 März des laufenden Jahres setzen
var LetzterTagMaerz = new Date(JahrAktuell, 2, 31, 12, 0, 0)
Nun möchte ich herausfinden, auf welchen Wochentag der 31. März fällt.
4) Aus diesem Wert wird mit getDay() der Wochentag ermittelt
5) Der ermittelte Wert wird in eine Variable (TagDerWoche) geschrieben
var TagDerWoche = LetzterTagMaerz.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 LetzterTagMaerz wandle ich in einen Millisekundenwert um, um dan X mal 86400000 ms (1 Tag = 86400000 ms) zu subtrahieren. Fällt der 31. März 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 (LetzterSonntagMaerz) schreiben
var ZeitwertLetzterTagMaerz = LetzterTagMaerz.getTime()
// für den letzten Sonntag vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 0 : TagDerWoche) * 86400000;
LetzterSonntagMaerz.setTime(ZeitwertLetzterTagMaerz - Verschiebung);
Nun möchte ich die Informationen aus LetzterSonntagMaerz in ein normales Datumsformat transformieren, in eine Variable (DatumString) schreiben und anzeigen.
8) Tag, Monat und Jahresinfo aus LetzterSonntagMaerz extrahieren
9) Als Datumsformat in eine Variable (DatumString) schreiben
var TagDatum = LetzterSonntagMaerz.getDate();
var MonatDatum = LetzterSonntagMaerz.getMonth() + 1;
var JahrDatum = LetzterSonntagMaerz.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 Sommerzeit am: '+ DatumString);
b) Alert-Meldung mit alert()
alert('Umstellung auf Sommerzeit am: '+ DatumString);
ScriptCode (im Body-Bereich notiert) schreibt Text und Datum in die Seite:
<script type="text/javascript" language="JavaScript">
<!--
var LetzterSonntagMaerz = new Date();
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
// Datum auf den 31 März des laufenden Jahres setzen
var LetzterTagMaerz = new Date(JahrAktuell, 2, 31, 12, 0, 0)
var TagDerWoche = LetzterTagMaerz.getDay()
var ZeitwertLetzterTagMaerz = LetzterTagMaerz.getTime()
// für den letzten Sonntag vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 0 : TagDerWoche) * 86400000;
LetzterSonntagMaerz.setTime(ZeitwertLetzterTagMaerz - Verschiebung);
var TagDatum = LetzterSonntagMaerz.getDate();
var MonatDatum = LetzterSonntagMaerz.getMonth() + 1;
var JahrDatum = LetzterSonntagMaerz.getFullYear();
var DatumString = TagDatum + "." + MonatDatum + "." + JahrDatum;
document.write("Umstellung auf Sommerzeit am: " + DatumString);
//-->
</script>

Code-Schnipsel - Datum des 1. Advent berechnen
Code-Schnipsel - Datum Buß- und Bettag berechnen
Code-Schnipsel - Datum Beginn der Winterzeit berechnen

|