Schaltjahr Berechnung

By | 26. April 2016

Datums-Arithmetik

Ein Jahr ist definiert als die Zeit, die die Erde für eine Umrundung der Sonne braucht. Ein Umlauf dauert genau 365 Tage, 5 Stunden, 48 Minuten und 45,252 Sekunden, also etwa um ¼ Tag länger als unser Kalenderjahr. Um diesen Unterschied auszugleichen wird alle 4 Jahre ein Schalttag, der 29. Februar, eingeschaltet.

Damit die Rechnung noch genauer aufgeht, müssen über einen Zeitraum von 400 Jahren, jeweils drei Schaltjahre gestrichen werden. Dazu wurden die drei Schaltjahr-Regeln eingeführt.

Die drei Schaltjahr-Regeln:
Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl restlos durch 4 teilbar ist.
Ein Jahr ist kein Schaltjahr, wenn es durch 4 und 100 restlos teilbar ist.
Ein Jahr ist ein Schaltjahr, wenn es sowohl durch 4, durch 100 und durch 400 teilbar ist.

D.h. man benötigt in irgend einer Form geschachtelte Verzweigungsanweisungen wie if else um dieses Problem zu lösen sowie eine Möglichkeit, die restlose Teilbarkeit sicher zu stellen. Restlose Teilbarkeit kann man über die Modulo-Funktion bestimmen. Daraus entwickelt man in einer funktionalen Programmiersprache beispielsweise eine binäre Funktion, die  True ergibt, wenn das übergebende Argument ein Schaltjahr ist:

Der Test erfolgt dann über einen einfachen Funktionsaufruf der neu erstellten Funktion Schaltjahr. Die genau dann True ergibt wenn das angegebene Jahr ein Schaltjahr ist. Diese Funktion kann nun beliebig weiter verwendet werden.