Bei der Programmierung einer Funktion für das Julianische Datum müssen wir beachten, daß bürgerliche und astronomische Zeitrechnung nicht identisch sind. Astronomisch gibt es im Gegensatz zur bürgerlichen Zeitrechnung ein Jahr 0. Der bürgerliche Kalender richtet sich nach Christi Geburt, die man als Nullpunkt annimmt. Daher gibt es nur ein Jahr vor und ein Jahr nach Christus. Das astronomische Jahr 0 entspricht dem bürgerlichen Jahr 1 v.Chr., das astronomische Jahr -1 entspricht dem Jahr 2 v.Chr. usw. Nach der bürgerlichen Zeitrechnung hat also das erste Jahrtausend n.Chr. am 1.1.1 begonnen. Deshalb aufgepaßt! Wer wirklich den Zeitsprung ins dritte Jahrtausend feiern möchte, läßt die Sektkorken nicht schon an Neujahr 2000, sondern erst an Neujahr 2001 lauter knallen. Aber was soll's. Den Zahlensprung in Hunderter- und Tausenderstelle kann man ja auch als etwas besonderes feiern.

Die Funktion zur Berechnung des Julianischen Datums sieht folgendermaßen aus:

Variablen:
Jahr: Die Jahreszahl mit Tausenderstelle (jjjj)
Ut!: Weltzeit in Stunden (14.30 Uhr = 14.5)
Jd!: Das Julianische Datum
Zeilen 3-9: Unterscheidung, ob das übergebene Datum im Zeitraum vor der gregorianischen Kalenderreform, während den ausgefallenen Tagen, oder nach der gregorianischen Kalenderreform liegt. Wenn das Datum in den ausgefallenen Tagen liegt, wird als Fehler -2 zurückgegeben.

Millennium 2 - 14 / 16