Schaltjahr berechnen mit JavaScript

Das Schaltjahr wurde eingeführt als man feststellte, dass das laufende Jahr immer mehr von dem tropischen Jahr abwich — 1583 von Papst Gregor.
Da das tropische Jahr ~ 365,24 Tage lang ist, versteht es sich, dass die Regel zur Berechnung nicht ganz so einfach sein kann:

Wenn die Jahreszahl durch 4 teilbar ist
wird ein Schalttag am 29. Februar eingefügt,

außer die Jahreszahl lässt sich durch 100 teilen
    - dann entfällt der Schalttag;

außer die Jahreszahl lässt sich durch 400 teilen
    - dann gibt es trotzdem den Schalttag.

Im nachfolgenden Script wird in der Variable STag gespeichert, ob das Jahr ein Schaltjahr ist oder nicht, dabei steht "1" für ein Schaltjahr und "0" für ein Jahr ohne Schalttag.


sTag = new Date();
Jhr = sTag.getYear();
Jahr = (Jhr >= 2000) ? Jhr : ((Jhr< 80) ? Jhr + 2000 : Jhr + 1900)
SJahr = Jahr%4;
SHJahr = Jahr%100;
S4Jahr = Jahr%400;
STag = ((S4Jahr == "0") ? (1) : ((SHJahr == "0") ? (0) : ((SJahr == "0") ? (1) : (0))));

Testweise kann der obige Script-Schnipsel aufgerufen werden, ausgegeben wird, ob das aktuelle Jahr ein Schaltjahr ist:

© 2003