Code-Schnipsel - 4. Advent im aktuellen Jahr Datum
Sammlung von Code-Schnipseln mit Bezug auf Datums-Funktionen. In diesem Beispiel wird der ermittelte Wert für den 4. Advent des aktuellen Jahres einer Variablen zugeordnet und mit einer JavaScript-Schreibanweisung in die HTML-Datei geschrieben.
|
|
Datum des 4. Advent 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, Adventskalender, ... .
Arbeitsschritte
Das Datum für den 4. Advent ist abhängig vom 1. Weihnachtstag (jeweils der im Datum davor liegende Sonntag).
Als Basis für meine Berechnungen benötige ich also eine Datumsvariable, die als Wert das Datum des 25. Dezember des aktuellen Jahres hat. Diese Variable mit dem Namen 'Weihnachten' schaffe ich mit den nächsten drei Schritten:
1) Ein neues Date-Objekt (Weihnachten) wird kreiert
2) Für Tag und Monat lege ich den 25. und Dezember fest
3) Für das Jahr wird der aktuelle Jahreswert festgelegt
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
// Datum auf den 25 des laufenden Jahres setzen
var Weihnachten = new Date(JahrAktuell, 11, 25, 12, 0, 0)
Nun möchte ich herausfinden, auf welchen Wochentag der 25. Dezember fällt. Besonders interessant wäre es, wenn das ein Sonntag ist.
4) Aus diesem Wert wird mit getDay() der Wochentag ermittelt
5) Der ermittelte Wert wird in eine Variable (TagDerWoche) geschrieben
var TagDerWoche = Weihnachten.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 Weihnachten wandle ich in einen Millisekundenwert um, um dan X mal 86400000 ms (1 Tag = 86400000 ms) zu subtrahieren. Fällt der 1. Weihnachtstag z.B. auf einen Sonntag, muss ich um 7 Tage zurück rechnen (entsprechend 7 X 86400000 ms subtrahieren).
6) zeitlichen Versatz zum 25. Dezember berechnen
7) Datum ermitteln und in eine Variable (VierterAdvent) schreiben
var ZeitwertWeihnachten = Weihnachten.getTime()
// für den 4. Advent vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 7 : TagDerWoche) * 86400000;
VierterAdvent.setTime(ZeitwertWeihnachten - Verschiebung);
Nun möchte ich die Informationen aus VierterAdvent in ein normales Datumsformat transformieren, in eine Variable (DatumString) schreiben und anzeigen.
8) Tag, Monat und Jahresinfo aus VierterAdvent extrahieren
9) Als Datumsformat in eine Variable (DatumString) schreiben
var TagDatum = VierterAdvent.getDate();
var MonatDatum = VierterAdvent.getMonth() + 1;
var JahrDatum = VierterAdvent.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('4. Advent in diesem Jahr: '+ DatumString);
b) Alert-Meldung mit alert()
alert('4. Advent in diesem Jahr: '+ DatumString);
ScriptCode
<script type="text/javascript" language="JavaScript">
<!--
var VierterAdvent = new Date();
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
// Datum auf den 25 des laufenden Jahres setzen
var Weihnachten = new Date(JahrAktuell, 11, 25, 12, 0, 0)
var TagDerWoche = Weihnachten.getDay()
var ZeitwertWeihnachten = Weihnachten.getTime()
// für den 4. Advent vordatieren abhängig vom Wochentag
Verschiebung = ((TagDerWoche == 0) ? 7 : TagDerWoche) * 86400000;
VierterAdvent.setTime(ZeitwertWeihnachten - Verschiebung);
var TagDatum = VierterAdvent.getDate();
var MonatDatum = VierterAdvent.getMonth() + 1;
var JahrDatum = VierterAdvent.getFullYear();
var DatumString = TagDatum + "." + MonatDatum + "." + JahrDatum;
document.write("4. Advent in diesem Jahr: " + DatumString);
//-->
</script>

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

|