|
Hier werden einfach stur die Anzahl der Tage der vergangenen Monate aufsummiert und
die verstrichenen Tage des gegebenen Monats hinzuaddiert. Dazu werden die jeweiligen
Tageszahlen in einem Array (Feld) gespeichert. Vor der Berechnung wird die genaue
Tageszahl für den Februar bestimmt (im Schaltjahr 29).
var Monatstage = new Array
(31,28,31,30,31,30,31,31,30,31,30,31);
...
function Tag_des_Jahres(tag,monat,jahr) {
var Tage = 0;
Monatstage[1] = 28 + ist_Schaltjahr(jahr);
if (tag <= Monatstage[monat-1]) {
for (var i=0; i < monat-1; i++)
Tage = Tage + Monatstage[i];
Tage = Tage + tag;
}
return Tage;
}
|
|
Ein besonderes Problem liegt aber im Jahr 1582 vor, weil in diesem die 10 Tage
zwischen dem 4. und 15. Oktober ausgefallen sind. Um dieses Jahr auch korrekt
abbilden zu können, muss eine entsprechende Ausnahme gebildet werden. Eine
analoge Verfahrensweise wie im Februar ist nicht möglich, da dann Datümer ab dem
21. Oktober nicht mehr zulässig sind. Man zieht am besten am Ende der Prozedur
zehn Tage ab, wenn die Tagesanzahl größer als 287 (4. Oktober 1582) ist. Bei der
Rückrechnung eines Datums aus der Tageszahl muss dann entsprechend aufgepaßt werden.
| |