Julianisches Datum
# Julianisches Datum

Das julianische Datum (abgekürzt in allen Sprachen JD für englisch Julian Date) ist eine in den Naturwissenschaften, besonders der Astronomie, gebräuchliche, von der IAU definierte Tageszählung. Es gibt die Zeit in Tagen und Tagesbruchteilen an, die seit dem 1. Januar −4712 (4713 v. Chr.), 12:00 Uhr UT vergangen ist. Die negative Zahl steht für ein Jahr vor Christi Geburt, wobei das Jahr 1 v. Chr. als Jahr 0 gezählt wird. Dem Zeitpunkt Freitag, der 27. September 2024, 10:05:30 Uhr UT entspricht zum Beispiel das julianische Datum 2.460.580,92049. Die julianische Tageszahl (abgekürzt JDN für englisch Julian Day Number) ist der ganzzahlige Teil des julianischen Datums. Sie nummeriert die Tage beginnend mit 0 für den 1. Januar −4712; Tagesanfang ist jeweils um 12 Uhr UT.
Im Deutschen ist der Sprachgebrauch nicht einheitlich: Für das JD findet sich neben dem häufigen „julianisches Datum“ zum Beispiel auch „julianische Tageszahl“ (die hier für die JDN steht) oder „julianischer Tageswert“. Die JDN findet sich meist nur in Wendungen wie „der Julianische Tag 2.452.276“. Die hier verwendeten deutschen Bezeichnungen sind einem Wörterbuch entnommen.
Als fortlaufende Tageszählung ist das julianische Datum frei von Unregelmäßigkeiten wie Schalttagen oder unterschiedlich langen Monaten, wie sie in den meisten Kalendern auftreten. Daher können mit ihm sehr leicht Zeitdifferenzen berechnet werden. Für Bereiche wie die Ephemeridenrechnung, in denen ein völlig gleichmäßig verlaufendes Zeitmaß benötigt wird, empfiehlt die IAU, statt der Universal Time (UT) die Terrestrische Zeit (TT) als Grundlage des julianischen Datums zu verwenden.
Eine wichtige Variante des julianischen Datums ist das Modifizierte Julianische Datum (abgekürzt in allen Sprachen MJD).

## Geschichte

Ein erster Schritt zum heutigen Julianischen Datum erfolgte mit dem 1583 erschienenen Buch De emendatione temporum des französischen Humanisten Joseph Scaliger, das „wegen der … analytischen Präzision eine enorme Wirkung auf jegliche chronologische oder historische Arbeit“ hatte. Scaliger behandelte hier systematisch alle wichtigen Kalendersysteme der Antike und des Mittelalters und setzte sie in Bezug zu einem Referenzkalender. Hierzu führte er eine 7980 Jahre dauernde Julianische Periode ein, die er so nannte, «quia ad annum Iulianum duntaxat accomodata est.» (deutsch: „weil sie selbstverständlich an das Julianische Jahr angepasst ist.“).$^{:S.198}$ Ihre Länge ist das kleinste gemeinsame Vielfache der Periodenlänge von drei für die Kalenderrechnung wichtigen Zyklen, dem 28-jährigen Sonnenzyklus, dem 19-jährigen Mondzirkel und dem 15-jährigen Zyklus der Indiktion. Als Jahr 1 der Julianischen Periode wählt er das Jahr 4713 v. Chr., weil in diesem Jahr alle drei Zyklen gleichzeitig einen neuen Durchlauf begannen; das Jahr 7980 der Julianischen Periode ist damit das Jahr 3267 n. Chr. Für jedes Jahr der Julianischen Periode kann nun die Lage in einem der drei Zyklen durch Berechnung des Restes bei der Division durch die jeweilige Zykellänge bestimmt werden.$^{:S.196f.}$
Ein kontinuierliches Zeitmaß, genannt “day current of the Julian period” (deutsch: „laufender Tag der Julianischen Periode“), das mit dem heutigen Julianischen Datum bis auf ein Detail übereinstimmt, wurde 1849 von dem britischen Astronomen John Herschel in seinem Buch Outlines of Astronomy vorgeschlagen. Hier wird wie heute ein Datum oder Zeitpunkt durch die seit der Epoche 1. Januar −4712 (4713 v. Chr.), 12:00 Uhr vergangene und in Tagen und Tagesbruchteilen gemessene Zeit bestimmt. Der Unterschied besteht allein darin, dass Herschel seiner Definition nicht 12:00 Uhr mittlere Ortszeit von Greenwich, also die heutige UT, sondern 12:00 Uhr mittlere Ortszeit von Alexandria zugrunde legte. Als Begründung gab er an, dass auf dieser auch die von Claudius Ptolemäus verwendete Nabonassar-Ära basiere. Herschels Definition liefert daher um 0,083 größere Werte als die heute verwendete. Nach Einführung der heute als UT bezeichneten Greenwich Mean Time 1884 wurde das Julianische Datum (JD) spätestens 1893 mit diesem Namen und der noch heute gültigen Definition (Epoche 1. Januar −4712, 12:00 Uhr UT) verwendet. Das Jahr der Epoche und das „Julian“ im Namen gehen also auf Scaliger zurück. Der Tagesanfang am Mittag und die Verwendung von Tagesbruchteilen war bereits seit der Antike gängige Praxis in der Astronomie.
Schon Herschel hatte sich für eine Verschiebung des astronomischen Tagesanfangs auf Mitternacht ausgesprochen, doch erst in der ersten Hälfte des 20. Jahrhunderts schlossen sich die Astronomen nach und nach dem allgemeinen Übereinkommen an und verlegten „ihren“ Tagesanfang um 12 Stunden vor. Vor dem 1. Januar 1925 hatte die Greenwich Mean Time, wie sie in der Astronomie verwendet wurde, ihren Tageswechsel am Mittag, erst ab diesem Datum war ihr Tagesanfang um Mitternacht. Noch 1928 forderte die IAU dazu auf, bei allen Arbeiten anzugeben, wann der Tagesanfang ist. „U.T.“ stehe für Tagesanfang um Mitternacht; die Bezeichnung „G.M.T.“ solle nicht mehr verwendet werden.
Der mittägliche Tageswechsel beim Julianischen Datum wurde dadurch zunehmend als störend empfunden, und so beschloss die IAU 1973, um Wildwuchs in Form vieler verschiedener Datierungssysteme zu vermeiden, in Resolution 4, zusätzlich zum JD eine Variante mit Tagesanfang um Mitternacht einzuführen: Sie schlug vor, die Bezeichnung “Modified Julian Date” (deutsch: „Modifiziertes Julianisches Datum“) (MJD) nur für die durch JD − 2.400.000,5 definierte Größe zu verwenden. Diese Tageszählung war bereits 1957 vom SAO für sein Programm zur Beobachtung der ersten sowjetischen Sputnik-Satelliten eingeführt worden. In den 1990er Jahren gab es unter den Astronomen jedoch Bestrebungen, diese Empfehlung zurückzunehmen. Aus Rücksicht auf Nachbardisziplinen wie Geodäsie, Geophysik und Raumfahrt, in denen das MJD viel verwendet wurde, kam es jedoch nicht zu einer Aufhebung der Empfehlung von 1973. Vielmehr bestätigte die IAU 1997 in Resolution B1 die parallele Nutzung von JD und MJD und führte eine “Julian day number” (deutsch: „Julianische Tagesnummer“) (JDN) ein, die die Sonnentage (mit Tagesanfang am Mittag) seit 4713 v. Chr. durchnummeriert. Für astronomische Zwecke empfiehlt sie den Gebrauch des Julianischen Datums, während sie „für die Fälle, wo es bequem ist, einen um Mitternacht beginnenden Tag zu nutzen“, das Modifizierte Julianische Datum empfiehlt.

## Eigenschaften
### Zeitskalen

Die wissenschaftliche Zeitmessung benutzt neben der koordinierten Weltzeit UTC mehrere unterschiedliche Zeitskalen, welche jeweils für bestimmte Zwecke besonders geeignet sind, z. B. die Universal Time UT1, die Internationale Atomzeit TAI, die Terrestrische Zeit TT, die Baryzentrische Dynamische Zeit TDB usw. Auf jeder dieser Zeitskalen kann in Form eines julianischen Datums eine kontinuierliche Zeitzählung eingeführt werden, wobei die Epoche jeweils der 1. Januar −4712, 12:00 Uhr der betreffenden Zeitskala ist. Die Einheit ist der Tag mit 86.400 Sekunden der betreffenden Skala; eine Ausnahme ist UTC, bei der einzelne Tage um eine Schaltsekunde auf 86.401 Sekunden verlängert werden. Bei den Zeitskalen UTC (ab 1972), TAI und TT ist die Sekunde die SI-Sekunde. Da die einzelnen Zeitskalen sich voneinander unterscheiden, sind auch die betreffenden julianischen Daten für ein und dasselbe Ereignis verschieden. Es muss daher im Zweifelsfall angegeben werden, auf welcher Zeitskala das verwendete julianische Datum gezählt wird, z. B. „JD (UT1)“, „JD (TT)“ usw. Die IAU empfiehlt die Verwendung der Terrestrischen Zeit als zugrundeliegender Zeitskala. Die oft anzutreffende Abkürzung „JDE“ bezeichnet ein nach Ephemeridenzeit gezähltes julianisches Datum, wird aber auch häufig für dessen Nachfolger „JD (TT)“ benutzt.
UTC als Skala für das Julianische Datum ist wegen der Schaltsekunden problematisch, wenn eine Genauigkeit von 1 s oder besser angestrebt wird. In der SOFA-Bibliothek, die im Auftrag und unter Kontrolle der IAU entwickelte Software für grundlegende Algorithmen enthält, wird das JD (UTC) im Zusammenhang mit Schaltsekunden als „quasi-JD“ bezeichnet. Und die Entwickler machen darauf aufmerksam, dass ihre Behandlung der Problematik keinen offiziellen Status hat.

### Beispiele

| Datum | Uhrzeit | Julianisches Datum | Anmerkungen |
| 1. Jan. −4712 | 12:00 UT | 0,000 | Epoche des Julianischen Datums |
| 27. Mai −668 | 01:59 UT | 1.477.217,583 | Aufgang der verfinsterten Sonne in Babylon |
| 1. Jan. 1 | 00:00 UT | 1.721.423,500 | |
| 14. Sep. 763 | 12:00 UT | 2.000.000,000 | |
| 4. Okt. 1582 | 24:00 UT | 2.299.160,500 | derselbe Zeitpunkt; s. Übernahme des gregorianischen Kalenders |
| 15. Okt. 1582 | 00:00 UT | 2.299.160,500 | derselbe Zeitpunkt; s. Übernahme des gregorianischen Kalenders |
| 17. Nov. 1858 | 00:00 | 2.400.000,500 | Epoche des Modifizierten Julianischen Datums, Zeitskala UT oder TT |
| 31. Dez. 1899 | 19:31:28 TT | 2.415.020,31352 | Standardepoche B1900.0 |
| 1. Jan. 2000 | 12:00:00 TT | 2.451.545,00000 | Standardepoche J2000.0 (= 1. Jan. 2000, 11:58:55,8 UTC) |
| 27. Sep. 2024 | 10:05 UTC | 2.460.580,92 | Aktuelles Datum |
Das Julianische Datum verwendet hier dieselbe Zeitskala wie das jeweilige Kalenderdatum.

## Rechnen mit dem Julianischen Datum
### Umrechnung Kalenderdatum → JD

Das julianische Datum kann nach dem folgenden Algorithmus aus einem julianischen oder gregorianischen Kalenderdatum berechnet werden. Die Eingabe wird in den Variablen Tag, Monat und Jahr erwartet, wobei Tag auch einen Tagesbruchteil (Stunde/24 + Minute/1440 + Sekunde/86400) enthalten kann; die Ausgabe steht in JD.
Der Algorithmus behandelt sowohl julianische als auch gregorianische Kalenderdaten auch dann korrekt, wenn sie Tage vor der tatsächlichen Einführung des Kalenders bezeichnen, wenn also das Regelwerk des Kalenders proleptisch angewendet wird; Unregelmäßigkeiten bei der Schaltung in der Anfangsphase des julianischen Kalenders werden nicht berücksichtigt. Für die vorchristlichen Jahre wird außerdem die astronomische, nicht die historische Zählweise vorausgesetzt, also 0 für 1 v. Chr., −1 für 2 v. Chr. usw.
Es muss bekannt sein, in welchem der beiden Kalendersysteme das Datum vorliegt. Die früheste und häufig bei Datierungen verwendete Umstellung erfolgte 1582: Auf den 4. Oktober (julianisch) folgte der 15. Oktober (gregorianisch). Viele Länder stellten jedoch später um, einige verwendeten den julianischen Kalender sogar noch bis ins 20. Jahrhundert (siehe Übernahme des gregorianischen Kalenders).
Die eckige Klammer ⌊x⌋ ist die untere Gaußklammer, die x abrundet (⌊5,8⌋ = 5; ⌊−5,2⌋ = −6). In vielen Programmiersprachen heißt sie floor. Für Kalenderdaten ab März −4716 (März 0 für gregorianische Daten) kann das Abrunden durch ein Abschneiden der Nachkommastellen ersetzt werden, da die Argumente der Gaußklammern dort stets nichtnegativ sind.

#### Erläuterung des Algorithmus

* Vor der eigentlichen Rechnung wird eine Umnummerierung der Monats- und Jahreszahlen vorgenommen, welche Januar und Februar als den 13. und 14. Monat des Vorjahres zählt. Ein eventueller Schalttag ist damit stets der letzte Tag des so entstandenen Jahres, und es muss für das zu behandelnde Datum nicht mehr unterschieden werden, ob es im (ursprünglichen) Jahr vor oder nach dem Schalttag liegt.
* Beim julianischen Kalender hat der 1. März −4712, 0 Uhr das JD 30,5 + 29 = 59,5. Bis zum 1. März Y, 0 Uhr sind weitere Y+4712 umnummerierte Jahre mit zusammen ⌊365,25 (Y+4712)⌋ Tagen vergangen. In diesem Term wird durch den Nachkommateil des Faktors 365,25 automatisch der alle vier Jahre zusätzlich fällige Schalttag berücksichtigt. Das JD des 1. März Y, 0 Uhr ist also 59,5 + ⌊365,25 (Y+4712)⌋. Damit das Argument der Gaußklammer ⌊…⌋ auch für Januar und Februar des (ursprünglichen) Jahres –4712 nicht negativ wird, so dass diese auch hier durch die Abschneidefunktion ersetzt werden kann, wird das Basisjahr um vier Jahre vorverlegt und die darin enthaltenen 3·365 + 366 = 1461 Tage subtrahiert. Das JD des 1. März Y, 0 Uhr ist damit 59,5 + (⌊365,25 (Y+4716)⌋ – 1461).
* Beim gregorianischen Kalender hat ein Tag ein anderes JD als der Tag mit demselben Datum im julianischen Kalender. In den umnummerierten Jahren Y = 0, …, 99 ist der Unterschied B = JD(greg.) − JD(jul.) = B₀ mit zunächst noch unbekanntem B₀. Mit Beginn des neuen (umnummerierten) Jahrhunderts Y = 100, …, 199 verkleinert sich B um 1, da der 1. März$^{jul.}$ durch den Schalttag 29. Februar 100, der im gregorianischen Kalender ausfällt, einen Tag später, also mit um 1 vergrößertem JD, eintritt. Das wiederholt sich in den folgenden Jahrhunderten – außer, wenn das erste Jahr des Jahrhunderts durch 400 teilbar ist. Damit ist B = B₀ − ⌊Y/100⌋ + ⌊Y/400⌋. In den umnummerierten Jahren Y = 1500, …, 1599 ist der Unterschied B = −10 (5. Oktober 1582$^{jul.}$ = 15. Oktober 1582$^{greg.}$), woraus B₀ = 2 folgt. Zusammen ist also JD(greg.) = JD(jul.) + B mit B = 2 − ⌊Y/100⌋ + ⌊Y/400⌋.
* Die Zahl der Tage seit Beginn des umnummerierten Jahres Y am 1. März setzt sich aus zwei Teilen zusammen, der Zahl der Tage bis Monatsbeginn und der Zahl D − 1 der Tage seit Monatsbeginn (D auch mit Tagesbruchteil). Der erste Beitrag ergibt sich aus den Monatslängen für März (M = 3) bis Februar (M = 14): 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28/29. Die Tage in den Vormonaten summieren sich dann zu 0, 31, 61, 92, 122, 153, 184, 214, 245, 275, 306, 337; die Länge des Februars trägt nicht bei. Diese Werte ergeben sich, wie sich durch Nachrechnen zeigt, auch aus dem Ausdruck ⌊30,6 (M+1)⌋ − 122. Da der Faktor 30,6 binär nicht exakt darstellbar ist (zur Problematik siehe Eigenschaften einer Gleitkommaarithmetik), wird er durch den (in gewissen Grenzen willkürlichen) Wert 30,6001 ersetzt, da sonst zum Beispiel für April (M+1 = 5) das Ergebnis ⌊152,999.998⌋ − 122 = 30 statt richtig 31 sein könnte. Die Zahl der Tage seit Beginn des umnummerierten Jahres Y ist damit (⌊30,6001 (M+1)⌋ − 122) + (D− 1).
* Insgesamt ergibt sich (mit B = 0 für julianische Kalenderdaten) JD = 59,5 + (⌊365,25 (Y+4716)⌋ – 1461) + B + (⌊30,6001 (M+1)⌋ − 122) + (D − 1) oder umgestellt JD = ⌊365,25 (Y+4716)⌋ + ⌊30,6001 (M+1)⌋ + D + B – 1524,5.

### Umrechnung JD → Kalenderdatum

Das julianische bzw. gregorianische Kalenderdatum kann nach dem folgenden Algorithmus aus einem julianischen Datum berechnet werden. Die Eingabe, das julianische Datum, wird in der Variablen JD erwartet; die Ausgabe, das gesuchte Kalenderdatum, steht in Tag, Monat und Jahr, wobei Tag auch einen Tagesbruchteil (Stunde/24 + Minute/1440 + Sekunde/86400) enthalten kann.
Wenn nicht von vornherein klar ist, welches der beiden möglichen Kalenderdaten es sein soll, muss bekannt sein, welches Z zum ersten Tag im gregorianischen Kalender gehört. Bei der Umstellung im Oktober 1582 ist das Z = 2.299.161. Die eckige Klammer ⌊x⌋ ist wieder die untere Gaußklammer, die x abrundet (⌊5,8⌋ = 5; ⌊−5,2⌋ = −6). Sie kann durch ein Abschneiden der Nachkommastellen ersetzt werden, wenn beim julianischen Kalender JD ≥ −0,5 ist (also bei Zeitpunkten ab 1. Januar −4712$^{jul.}$); beim gregorianischen Kalender muss JD ≥ 1.867.216,5 (ab 1. März 400$^{greg.}$) sein.

### Berechnung des Wochentages

Die regelmäßige Abfolge der Wochentage war von der Einführung des gregorianischen Kalenders nicht betroffen: Auf Donnerstag, den 4. Oktober 1582$^{jul.}$ folgte Freitag, der 15. Oktober$^{greg.}$. Der Wochentag kann daher durch Berechnung des Restes bei der Division des kaufmännisch gerundeten julianischen Datums (= ⌊JD+0,5⌋) durch 7 bestimmt werden. Rest 0 entspricht Montag, 1 Dienstag, 2 Mittwoch, 3 Donnerstag, 4 Freitag, 5 Samstag und 6 Sonntag.
Beispiel: JD = 2.460.580,92049 (= 27. September 2024, 10:05:30 Uhr UT) ergibt durch Runden 2.460.581. Der Rest bei der Division durch 7 ist 4, und das entspricht einem Freitag.

## Varianten
### Modifiziertes Julianisches Datum

Das Modifizierte Julianische Datum (in allen Sprachen abgekürzt MJD) ist definiert durch
    ${\textit {MJD}}={\textit {JD}}-2{.}400{.}000{,}5$.
Seine Epoche (Nullpunkt) ist damit am 17. November 1858 um 00:00 Uhr UT. Mit dem MJD erhält man
* einen bürgerlichen statt astronomischen Tagesanfang um Mitternacht;
* kleinere Zahlen: In den Jahren 1859 bis 2131 hat es zwei (oder mehr) Dezimalen weniger als das JD.
Es wird hauptsächlich in der Geodäsie, Geophysik und Raumfahrt verwendet, seltener auch in der Astronomie. Der Internationale Dienst für Erdrotation und Referenzsysteme gebraucht es in seinen Bulletins A und B. Daneben wird es in der astronomischen Chronologie, im Kalenderwesen sowie im digitalen Fernsehen zur Übertragung des Datums der Programminformationen (EPG) genutzt. Für die Verwendung der Terrestrischen Zeit TT gilt das oben beim Julianischen Datum gesagte.
Daneben wird gelegentlich noch ein „MJD2000“ verwendet, das als Epoche den 1. Januar 2000, 00:00 Uhr (JD 2.451.544,5, MJD 51.544,0) oder die Standardepoche J2000.0 (1. Januar 2000, 12:00 Uhr TT; JD 2.451.545,0, MJD 51.544,5) besitzt.

### Zeitmaße in Software

In Betriebssystemen, Programmiersprachen oder Anwendungsprogrammen werden Zeitpunkte häufig durch die seit einem festen Nullpunkt verflossene, in Tagen, Sekunden, Milli- oder Nanosekunden gemessene, Zeit festgelegt. Oder es gibt zumindest die Möglichkeit, diese Zeit abzufragen. Häufig ist der Anfangspunkt der 1. Januar 1970, 0 Uhr UTC, auf dem die Unix-Zeit basiert. Bei den in der folgenden Tabelle aufgeführten Nullpunkten ist die Uhrzeit immer 0 Uhr, wobei hier nicht unterschieden wird, ob das UTC oder eine lokale Zeit ist. In einigen Fällen ist der Nullpunkt selbst nicht darstellbar, da die Zählung erst später mit einem von Null verschiedenen Wert beginnt, so z. B. bei Microsoft Excel am 1. März 1900 als Tag 61.
| Nullpunkt | JD | gültig ab (wenn > Nullpunkt) | Software |
| 31. Dez. 0 | 1.721.424,5 | 1. Jan. 1 $^{greg.}$ | Python |
| 31. Dez. 1600 | 2.305.812,5 | 1. Jan. 1601 | COBOL |
| 1. Jan. 1601 | 2.305.813,5 | | Microsoft Windows |
| 17. Nov. 1858 | 2.400.000,5 | | OpenVMS |
| 30. Dez. 1899 | 2.415.018,5 | | LibreOffice Calc |
| 30. Dez. 1899 | 2.415.018,5 | 1. März 1900 | Microsoft Excel |
| 1. Jan. 1970 | 2.440.587,5 | | Unix, Linux; C++, Java, JavaScript |
Mit diesem Zeitmaß kann sehr einfach das julianische Datum zu einem Kalenderdatum berechnet werden. Dazu muss nur noch die Zeiteinheit bekannt sein.
In LibreOffice Calc ist die Zeiteinheit der Tag. Wenn die Zelle A1 einen Datums- oder einen kombinierten Datums- und Zeitwert in einer Zeitskala wie UTC enthält, so kann durch Ändern der Zellformatierung zwischen einer Anzeige dieser Zeitangabe und einer Anzeige als Dezimalzahl (der seit dem Zeitnullpunkt verflossenen Zeit) gewechselt werden. Das JD von A1 ergibt sich dann dadurch, dass A1 zum julianischen Datum des Nullpunkts addiert wird:
Alternativ kann die Differenz zu einem beliebigen anderen Datum mit bekanntem JD, z. B. dem Nullpunkt von Microsoft Windows, verwendet werden:
In JavaScript ist die Zeiteinheit die Millisekunde, die Differenz zum Zeitnullpunkt muss also noch in Tage umgerechnet werden: