Code-Schnipsel - Schaltjahr ermitteln Modulo-Division
Sammlung von Code-Schnipseln mit Bezug auf Datums-Funktionen. In diesem Beispiel wird der ermittelte Wert (0 oder 1) für das aktuelle Jahr mit einer JavaScript-Schreibanweisung in die HTML-Datei geschrieben.
|
|
Schaltjahr-Überprüfung - Datum der Systemzeit
Grundlagen-Informationen zum Date-Objekt unter Einführung 01 Einführung 02
(0 = kein Schaltjahr, 1 = Schaltjahr)
Anwendung findet dieses Code-Schnipsel in Verbindung mit anderen, aus dem Systemdatum ermittelten Werten, zum Beispiel für: Copyright-Nachrichten, Datumsprüfung, Umleitungen, Kalenderfunktionen, Monatstage für Februar, ... .
Arbeitsschritte
Die ersten 3 Schritte des Aufbaus sind bekannt (Ermittlung der Jahreszahl):
1) Das aktuelle Systemdatum wird in eine Variable (DatumAktuell) geschrieben
2) Aus diesem Wert wird mit getFullYear() die vierstellige Jahreszahl ermittelt
3) Der ermittelte Wert wird in eine Variable (JahrAktuell) geschrieben
Hintergrundwissen:
Jedes 4. Jahr ist ein Schaltjahr
Jedes 100. Jahr ist aber kein Schaltjahr
Jedes 400. Jahr bildet eine Ausnahme und ist doch ein Schaltjahr
Um die Jahreszahl auf diese 3 Schlüsselwerte zu prüfen, wird die Jahreszahl durch 4, 100 und 400 geteilt und kontrolliert, ob diese Divisionen ohe Rest teilbar war.
Beispiel für das Jahr 2000:
2000 : 4 = 500, Rest 0 --> Schaltjahr ja
2000 : 100 = 20, Rest 0 --> Schaltjahr nein
2000 : 400 = 5, Rest 0 --> Ausnahme
Das Jahr 2000 war ein Schaltjahr!
|
|
Beispiel für das Jahr 1900:
1900 : 4 = 475, Rest 0 --> Schaltjahr ja
1900 : 100 = 19, Rest 0 --> Schaltjahr nein
1900 : 400 = 4, Rest 3 --> keine Ausnahme
Das Jahr 2000 war kein Schaltjahr!
|
Um den Rest einer Division zu ermitteln stellt JavaScript einen nützlichen Berechnungsoperator zur Verfügung: % (Modulo)
Bei einer Modulo-Division werden zwei Werte dividiert. Das Ergebnis ist jedoch im Gegensatz zur normalen Division nur der Restwert der Division.
Vergleich: 27 / 4 = 6,75 27 % 4 = 3
var Schaltjahr = 2000 % 4 (die Variable Schaltjahr hat nach der Berechnung den Wert 0)
4) Der Wert von 'JahrAktuell' wird mit 3 Modulo-Divisonen auf Restwerte überprüft
5) Die Variable 'Schaltjahr' hat danach den Wert 1 oder 0 (1 = Schaltjahr)
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
var Schaltjahr = 0;
if (((JahrAktuell % 4 == 0) && (JahrAktuell % 100 != 0))
|| (JahrAktuell % 400 == 0)) Schaltjahr = 1;
Den ermittelten Wert kann man innerhalb einer Funktion weiter verarbeiten
oder auch sofort zur Anzeige bringen.
a) Schreiben mit document.write()
document.write('ermittelter Wert für dieses Jahr: '+ Schaltjahr);
b) Alert-Meldung mit alert()
alert('ermittelter Wert für dieses Jahr: '+ Schaltjahr);
Ergebnis:
a)
(0 = kein Schaltjahr, 1 = Schaltjahr)
b) Alert-Meldung
ScriptCode
<script type="text/javascript" language="JavaScript">
<!--
var DatumAktuell = new Date();
var JahrAktuell = DatumAktuell.getFullYear();
var Schaltjahr = 0;
if (((JahrAktuell % 4 == 0) && (JahrAktuell % 100 != 0))
|| (JahrAktuell % 400 == 0)) Schaltjahr = 1;
document.write("ermittelter Wert für heute: " + Schaltjahr);
//-->
</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

|