- Julianisches Datum
-
Das Julianische Datum – nicht mit dem Datum im Julianischen Kalender zu verwechseln – gibt die Zeit in Tagen an, die seit dem 1. Januar −4712 (4713 v. Chr.) 12:00 Uhr vergangen ist. Dem Datum Donnerstag, der 13. Oktober 2011, 16:07:25 Uhr UT entspricht zum Beispiel das Julianische Datum 2.455.848,17182.
Als fortlaufende Tageszählung ist das Julianische Datum frei von Unregelmäßigkeiten wie Schalttagen, unterschiedlich langen Monaten usw., wie sie in den meisten Kalendern auftreten. Es wird daher vor allem in der Astronomie zur Beschreibung zeitabhängiger Größen verwendet, da mit ihm sehr leicht Zeitdifferenzen berechnet werden können.
Inhaltsverzeichnis
Geschichte
Das Julianische Datum wurde 1583 von dem französischen Philologen und Geschichtsschreiber Joseph Justus Scaliger vorgeschlagen. Der Name leitet sich möglicherweise von dem damals verwendeten Julianischen Kalender ab. Andere Quellen berichten, Scaliger habe sein System nach seinem Vater Julius Caesar Scaliger benannt.
Die Zählung der Tage ist innerhalb eines Zeitraums von 7980 Jahren, der so genannten Julianischen Periode, fortlaufend. Die Länge ergibt sich als kleinstes gemeinsames Vielfaches der Zyklen der Indiktion (15 Jahre), der Goldenen Zahl (19 Jahre) und dem Sonnenzyklus (28 Jahre, ergibt sich aus dem vierjährigen Schaltjahrzyklus, multipliziert mit den sieben Wochentagen). Das letzte Zusammenfallen der drei Zyklen (also das letzte Mal, dass alle drei Zyklen zugleich die Jahresnummer „1“ hatten) war im Jahr 4713 v. Chr.
Der britische Astronom John Herschel schlug 1849 in seinem Buch Outlines of Astronomy vor, das Scaliger’sche Schema zur Zeitmessung in der Astronomie zu verwenden. Dies beseitigte die Komplikationen, die bei der Verwendung verschiedener Kalender auftreten konnten. Er führte auch den gebrochenzahligen Anteil für die Uhrzeit ein. Der Tageswechsel erfolgt im europäischen Raum mittags, damit während der Nacht, in welcher die Astronomen beobachten, kein Datumswechsel stattfindet.
Astronomisches Julianisches Datum
Eigenschaften
In der Astronomie wird das Julianische Datum als kontinuierliche Zeitzählung verwendet, die jedem beliebigen Zeitpunkt eine eindeutige Gleitkommazahl zuordnet, mit der Anzahl der verflossenen Tage als ganzzahligem Anteil und dem verflossenen Tagesbruchteil in den Nachkommastellen (das diskrete Julianische Datum der Chronologie hingegen zählt nur ganze Tage, siehe unten). Im internationalen Sprachgebrauch wird das Julianische Datum als „JD“ abgekürzt.
Die wissenschaftliche Zeitmessung benutzt mehrere verschiedene Zeitskalen nebeneinander, welche jeweils für bestimmte Zwecke besonders geeignet sind, z. B. Universal Time „UT“, Internationale Atomzeit „TAI“, Terrestrische Dynamische Zeit „TDT“, Baryzentrische Dynamische Zeit „TDB“ usw. Auf jeder dieser Zeitskalen kann in Form eines Julianischen Datums eine kontinuierliche Zeitzählung eingeführt werden, wobei ein „Tag“ in der Regel 86.400 Sekunden der betreffenden Zeitskala entspricht. 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 (TDT)“ usw. Die Internationale Astronomische Union (IAU) empfiehlt die Verwendung von Terrestrischer Dynamischer Zeit als zugrunde liegender Zeitskala, mit einem aus 86.400 SI-Sekunden bestehenden Tag. Die oft anzutreffende Abkürzung „JDE“ bezeichnet ein nach Ephemeridenzeit gezähltes Julianisches Datum, wird aber auch häufig für dessen Nachfolger „JD (TDT)“ benutzt.
Wird ein Julianisches Datum verwendet, das auf einer ungleichförmigen Zeitskala beruht (z. B. UTC), so ist bei der Berechnung von Zeitdifferenzen gegebenenfalls eine Korrektur nötig (im Beispiel UTC: Berücksichtigung von Schaltsekunden).
Das Julianische Datum ist eine reine fortlaufende Tageszählung und weist keinerlei kalendarische Strukturen auf, wie z. B. eine Einteilung in Jahre, Monate usw. Es hat trotz der Namensähnlichkeit nichts mit dem Julianischen Kalender zu tun. Auch das englische Julian Date leidet unter derselben Verwechslungsgefahr, weshalb z. B. Jean Meeus als Autor einschlägiger Werke stattdessen die Bezeichnung Julian Day Number oder einfach Julian Day benutzt. Im Sprachgebrauch der IAU ist jedoch unter Julian Day Number lediglich der ganzzahlige Teil des Julianischen Datums zu verstehen und das volle Datum nach wie vor das Julian Date. Im Deutschen haben sich Bezeichnungen wie Julianische Tageszahl oder Julianische Tageszählung ebenfalls bisher nicht durchgesetzt.
Berechnung aus dem Kalenderdatum
Das astronomische Julianische Datum kann nach dem folgendem Algorithmus aus einem im Julianischen oder Gregorianischen Kalender gegebenen Datum berechnet werden (das Julianische Datum darf nicht negativ sein, diese Berechnung basiert auf der Umsetzung des Gregorianischen Kalenders 1582, manche Staaten stellten ihren Kalender zu anderen Terminen um):
wenn Monat > 2 dann Y = Jahr, M = Monat sonst Y = Jahr-1, M = Monat+12 D = Tag H = Stunde/24 + Minute/1440 + Sekunde/86400 wenn TT.MM.YYYY >= 15.10.1582 dann Gregorianischer Kalender: A = Int(Y/100), B = 2 - A + Int(A/4) wenn TT.MM.YYYY <= 04.10.1582 dann Julianischer Kalender: B = 0 sonst Fehler: Das Datum zwischen dem 04.10.1582 und dem 15.10.1582 existiert nicht. Auf den 04.10.1582 (Julianischer Kalender) folgte unmittelbar der 15.10.1582 (Gregorianischer Kalender). JD = Int(365,25*(Y+4716)) + Int(30,6001*(M+1)) + D + H + B - 1524,5
Die Variablen
Tag
,Monat
,Jahr
,Stunde
,Minute
undSekunde
enthalten die Bestandteile des zu bearbeitenden Datums, das Ergebnis wird inJD
zurückgegeben. Die FunktionInt
schneidet die Nachkommastellen einer Zahl ab.Berechnung in Programmiersprachen
Da die meisten Programmiersprachen zur internen Darstellung von Datums- und Zeitwerten eine fortlaufende Nummerierung ab einem bestimmten Bezugspunkt in Tagen oder Millisekunden verwenden, kann oft durch einfache Subtraktion die Tagesdifferenz zu einem definierten Zeitpunkt bestimmt werden. Hierbei ist allerdings zu beachten dass die Untergrenze der Datumsvariablen nicht unterschritten wird (meist der 1.1.1900 oder der 1.1.1970).
Beispiel in JavaScript
var j2000 = new Date(); // Bezugspunkt ist der 1.1.2000 0:00 UT (entspricht JD 2451544,5) j2000.setUTCFullYear(2000,0,1); j2000.setUTCHours(0,0,0,0); var datum = new Date(); datum.setUTCFullYear(jahr,monat-1,tag); // Monate müssen im Wertebereich 0...11 übergeben werden datum.setUTCHours(stunde,minute,sekunde,millisek); jd = 2451544.5 + (datum-j2000)/86400000; // Zählung erfolgt in Millisekunden, 1 Tag = 86.400.000 ms
Wichtig ist die Übergabe als UTC-Wert, sonst berücksichtigt die Subtraktion eventuelle Zeitzonenunterschiede (Sommer/Winterzeit).
Beispiel in Microsoft Excel
=2451544,5+A1-DATUM(2000;1;1)
A1 enthält einen Datums- oder einen kombinierten Datums- und Zeitwert. Achtung: In Microsoft Excel gilt 1900 als Schaltjahr, gültige Werte werden erst ab dem 1.3.1900 geliefert. Ab diesem Wert wird die Schaltjahresregel jedoch richtig implementiert.
Erläuterung
- Für den Zeitraum vor Einführung des Gregorianischen Kalenders wird hier die Benutzung des proleptischen, nicht des historischen Julianischen Kalenders vorausgesetzt. Das heißt, die Kalenderdaten werden so angegeben, als ob der Julianische Kalender schon immer existiert hätte und stets völlig regelmäßig gewesen wäre. Insbesondere wird die in den Anfangsjahren des historischen Julianischen Kalenders eingetretene Unregelmäßigkeit der Schaltung ignoriert.
- Für die vorchristlichen Jahre wird außerdem die astronomische, nicht die historische Zählweise vorausgesetzt. Das vor dem Jahr 1 n. Chr. liegende Jahr wird daher als Jahr 0 gezählt (astronomisch), nicht als Jahr 1 v. Chr. (historisch), das vor diesem liegende Jahr wird als Jahr -1 und nicht als Jahr 2 v. Chr. gezählt, usw. Dem Jahr 4713 v. Chr. in historischer Zählung entspricht beispielsweise das Jahr –4712 in astronomischer Zählung.
- 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.
Außerdem entsteht so aus der unregelmäßigen Folge 31 28 31 30 31 30 31 31 30 31 30 31 der Monatslängen die regelmäßigere mit dem März beginnende Folge 31 30 31 30 31 31 30 31 30 31 31 28. Man beachte, dass der vor der 28 liegende Teil der Folge sich auffassen lässt als Ausschnitt aus der periodischen Folge …30 31 31 30 31 30 31 31 30 31 30 31 31 30…
- Zunächst wird angenommen, der Julianische Kalender sei durchgehend vom 1. Januar –4712 bis in die Gegenwart verwendet worden. Die Anzahl der Tage in den seit dem Beginn des (umnummerierten) Jahres –4712 vollständig vergangenen Jahren ist
Int(365,25×(Y-(–4712)))
bzw.Int(365,25×(Y+4712))
. In dieser Formel wird durch den Nachkommateil des Faktors 365,25 automatisch der alle vier Jahre zusätzlich fällige Schalttag berücksichtigt. Sie erzeugt also fürY = –4712, –4711, –4710, –4709, –4708, …
die korrekte Zahlenfolge0, 365, 730, 1095, 1461, …
Wegen der eingangs vorgenommenen Umnummerierung der Jahreszahlen wird das Argument derInt
-Funktion für Januar und Februar des (ursprünglichen) Jahres –4712 allerdings negativ. Da dieInt
-Funktionen verschiedener Programmiersprachen auf negative Argumente unterschiedlich reagieren, wird die Formel umformuliert, um negative Argumente zu vermeiden:Int(365,25·(Y+4716)) – 1461
.
- Dazu wird die Anzahl der Tage in den seit dem (umnummerierten) Jahresbeginn vollständig vergangenen Monaten addiert. Für
M = 3, 4, 5, …
ist also die Zahlenfolge0, 31, 61, …
zu erzeugen; sie entspricht den kumulierten Summen der zweiten oben angegebenen Folge der Monatslängen. Die 28 in jener Folge wird jedoch nie benötigt, da während des letzten Monats des umnummerierten Jahres der letzte Monat nie vollständig vergangen ist und im darauf folgenden Monat die hier zu berechnende Tagessumme wieder mit 0 beginnt (währendY
um 1 erhöht wurde). Es genügt daher, die ebenfalls oben erwähnte streng periodische Folge zu erzeugen und einen passenden Ausschnitt daraus zu wählen. Dies geschieht durch die FormelInt(30,6001·(M+1))-122
, welche fürM = 3 .. 14
die gewünschte Zahlenfolge liefert. Der Faktor30,6001
stellt einen für die spätere Reduktion auf Ganzzahlen brauchbaren Annäherungswert auf die durchschnittliche, von Schaltjahren unbeeinflusste Monatslänge der Monate März bis Januar dar. Anstelle des Faktors30,6001
könnte in mathematischer Hinsicht der Zahlenwert30,6
verwendet werden. Rundungsfehler bei der numerischen Rechnung mit begrenzter Stellenzahl würden im Zusammenhang mit derInt
-Funktion jedoch in einigen Fällen zu fehlerhaften Ergebnissen führen. Dies wird durch die geringe Modifikation des Zahlenwerts verhindert (andere Möglichkeiten wären30,61
,30,601
etc). Der subtrahierte Wert122
repräsentiert die gleichfalls von Schaltjahren unbeeinflusste Anzahl der Tage in den Monaten März bis Juni, die wegen der Wahl des Ausdrucks(M+1)
als Monatsfaktor abzuziehen sind. Ansonsten wäre eine kompliziertere Bestimmung der Monatsfaktoren erforderlich.
- Ist
D
das Datum des Tages, so ist die Anzahl der im betreffenden Monat bereits vollständig vergangenen TageD-1
. Dazu ist der aus der Uhrzeit berechnete bereits vergangene BruchteilH
des zu behandelnden Tages zu addieren. Ein halber Tag muss davon jedoch subtrahiert werden, da der Anfangszeitpunkt der Julianischen Tageszählung nicht wie beim heutigen Kalender auf Mitternacht liegt, sondern erst auf 12 Uhr mittags:D - 1 + H - 0,5 = D + H - 1,5
.
- Liegt das zu behandelnde Datum nach der (regional unterschiedlichen) Einführung des Gregorianischen Kalenders, so ist das bisherige Ergebnis zu korrigieren um die Anzahl
B
der Tage, um die sich Julianischer und Gregorianischer Kalender an jenem Datum unterscheiden. Der Unterschied begann am 15. Oktober 1582 mitB = -10
Tagen und wächst in allen nicht durch 400 teilbaren Hunderterjahren um-1
Tag, ist also insgesamt gegeben durchB = –10 –A + Int(A/4) + 12
bzw.B = 2 - A + Int(A/4)
, wobeiA = Int(Y/100)
.
Die Umstellung vom Julianischen auf den Gregorianischen Kalender erfolgte in zahlreichen Ländern im Jahre 1582: Auf den 4. Oktober (Julianisch) folgte der 15. Oktober (Gregorianisch). Manche Länder stellten jedoch später um, in einigen Fällen erst im 20. Jahrhundert.
- Gerechnet ab Beginn des ursprünglichen, nicht umnummerierten Jahres sind für Januar und Februar −4712 zusätzliche
31+29 = 60
Tage zu zählen. Der Februar −4712 war ein Schaltmonat.
- Insgesamt ergibt sich als Anzahl der vergangenen Tage
Int(365,25×(Y+4716)) – 1461 + Int(30,6001·(M+1)) – 122 + D + H – 1,5 + B + 60 = Int(365,25×(Y+4716)) + Int(30,6001·(M+1)) + D + H + B - 1524,5
.
Beispiele
Kalenderdatum Julianisches Datum 1. Januar 1, 0000 UT (julianisch) 1.721.423,5000 27. Januar 333, 1200 UT (julianisch) 1.842.713,0000 4. Oktober 1582, 2400 UT (julianisch) 2.299.160,5000 15. Oktober 1582, 0000 UT (gregorianisch) 2.299.160,5000 1. Januar 1900, 0000 UT (gregorianisch) 2.415.020,5000 1. Januar 1990, 1200 UT (gregorianisch) 2.447.893,0000 1. Januar 1990, 1800 UT (gregorianisch) 2.447.893,2500 1. Januar 2000, 1200 UT (gregorianisch) 2.451.545,0000
(Standardäquinoktium)14. Januar 2006, 1630 UT (gregorianisch) 2.453.750,1875 25. März 2010, 1630 UT (gregorianisch) 2.455.281,1875 - Da die Zeitpunkte 4. Oktober 1582 24:00 Uhr und 15. Oktober 1582 00:00 Uhr in jenen Ländern zusammen fielen, die der Kalenderreform sofort folgten, haben sie dort auch dasselbe Julianische Datum.
Anmerkung: Dies ist natürlich nur eine moderne Konvention. Damals endete der Tag, wie im 16. Jahrhundert üblich, stets bei Abenddämmerung lokaler Zeit und sicher nicht um Mitternacht, weder in UT, noch in lokaler Zeit. So wurde z. B. in Rom am 4. Oktober um 21:00 UT (die es damals noch nicht gab), tatsächlich schon der 15. Oktober geschrieben.
Berechnung des Kalenderdatums aus dem Julianischen Datum
Das Julianische bzw. Gregorianische Kalenderdatum kann nach dem folgendem Algorithmus aus einem gegebenen Julianischen Datum berechnet werden (das Julianische Datum darf nicht negativ sein). Es wird angenommen, dass bis zum 4. Oktober 1582 der Julianische Kalender und ab den 15. Oktober 1582 der Gregorianische Kalender zu verwenden ist.
Z = Int(JD + 0,5) F = Frac(JD + 0,5) wenn Z < 2299161 dann A = Z // Ergebnis julianisch sonst g = Int((Z - 1867216,25) / 36524,25) // Ergebnis gregorianisch A = Z + 1 + g - Int(g/4) B = A + 1524 C = Int((B-122,1) / 365,25) D = Int(365,25 * C) E = Int((B-D) / 30,6001) Tag = B - D - Int(30,6001*E) + F // Tag, inklusive Tagesbruchteil wenn E<14 dann Monat = E - 1 // Monat sonst Monat = E - 13 wenn Monat>2 dann Jahr = C - 4716 // Jahr sonst Jahr = C - 4715
Die Variable
JD
enthält das zu bearbeitende Julianische Datum, die VariablenTag
,Monat
,Jahr
die Bestandteile des resultierenden Kalenderdatums (der Tag auch den Tagesbruchteil). Die FunktionInt
schneidet die Nachkommastellen einer Zahl ab. Die FunktionFrac
liefert die Nachkommastellen einer Zahl.Rundet man das Julianische Datum auf eine ganze Zahl und bestimmt den Modulo 7, also den Rest einer Division durch 7, erhält man den Wochentag (mit Montag = 0 bis Sonntag = 6).
Chronologisches Julianisches Datum
Das chronologische Julianische Datum wird ebenfalls ab dem 1. Januar −4712 gezählt, aber nur in ganzzahligen Tagesschritten. Es entspricht dem astronomischen Julianischen Datum für 12h mittags.
Berechnung
Der folgende Pseudocode berechnet aus einem Datum im gregorianischen Kalender das chronologische Julianische Datum:
y = Jahr + (Monat − 2.85) / 12 A = Int(367 * y) − 1.75 * Int(y) + Tag B = Int(A) − 0.75 * Int(y / 100) JD = Int(B) + 1721115
Die Variablen
Tag
,Monat
undJahr
enthalten die Bestandteile des zu bearbeitenden Datums, die Variableny
,A
undB
sind Hilfsgrößen der Berechnung und das Ergebnis wird inJD
zurückgegeben.Int
steht für das Abschneiden der Nachkommastellen.Anmerkungen
- Die Berechnung ist stabil, wenn man beispielsweise den nichtexistenten 29. Februar 1999 eingibt, wird das gleiche Julianische Datum berechnet, wie für den 1. März 1999. Durch Rückrechnung lassen sich so Datumsangaben auf Richtigkeit prüfen.
- Ein beliebiges Datum mit einem „Nullten“ Tag des Monats (0. M. JJJJ) liefert das Julianische Tagesdatum des letzten Tages im Vormonat.
- Über den Rest der Division durch 7 der Ganzzahl des Julianischen Datums + 0.5 kann man den Wochentag ermitteln. Rest 0 ist Montag, Rest 1 ist Dienstag, usw.; deshalb war der 4. Oktober 1582 ein Donnerstag, und der 15. Oktober 1582 ein Freitag (der erste Tag der Geltung des Gregorianischen Kalenders).
Beispiele
Gregorianischer Kalender Julianisches Datum 15. Oktober 1582 2.299.161 1. Januar 1583 2.299.239 1. Januar 1990 2.447.893 1. Januar 2000 2.451.545 13. Oktober 2011 2.455.848 Weitere Julianische Daten
- Im Internationalen Geophysikalischen Jahr (1957/58) wurde ein Modifiziertes Julianisches Datum (MJD) eingeführt, mit Nullpunkt am 17. November 1858 0:00 Uhr UT: MJD = JD(UT) – 2.400.000,5. Damit hat es deutlich weniger Vorkommastellen als das Julianische Datum. Das MJD wird hauptsächlich in der Geodäsie, Geophysik, Metrologie und Raumfahrt, seltener auch in der Astronomie verwendet.
- Dubliner Julianisches Datum (DJD): Eine weitere Version eines Julianischen Datums beginnt die Zählung der Tage mit dem Beginn des Jahres 1900 (z. B. in Microsoft Excel, Lotus-123, Borland Delphi) oder dem des Jahres 1904 (Microsoft Excel für Mac OS). Da die Zählung am 1. Januar nicht mit der Null, sondern mit dem Wert „1“ beginnt, ist der korrekte Nullpunkt der Zählung der 31. Dezember 1899 0:00 Uhr. Für zusätzliche Verwirrung sorgt, dass einige Programme das Jahr 1900 fälschlicherweise als Schaltjahr ansehen und daher für Tage nach dem 28. Februar 1900 inkonsistente Daten liefern (Nullpunkt ist dann der 30. Dezember 1899, 0:00 Uhr).
- Das ANSI-Datum legt den 1. Januar 1601 als Tag „1“ fest. Es dient als Ursprung der Datumszählung in der Programmiersprache COBOL.
Siehe auch
- Liste der Kalendersysteme
- Kalender, Zeitrechnung, Unixzeit
- Umrechnung zwischen Julianischem Datum und Gregorianischem Kalender
- Umrechnung zwischen Julianischem Datum und Julianischem Kalender
Quellen
- J. Meeus: Astronomical Algorithms, Willmann-Bell, Richmond 2000 (2nd ed., 2nd printing), ISBN 0-943396-61-1 (Berechnung des Kalenderdatums aus dem astronomischen JD: S. 63; Berechnung des astronomischen JD: S. 60;)
Weblinks
- Resolution B1 on the Use of Julian Dates Empfehlungen der IAU zum Gebrauch des Julianischen Datums (englisch)
- Julianisches Datum und andere Zeitangaben
- Umrechnung des Julianischen Datums in verschiedene Kalender
- Pc-Calculator, Julian Date Calculator
- Ewiger Kalender mit Angabe des Julianischen Datums
- Julian Day Kalender von 4713 v.Chr. bis 10000 n.Chr.
Kategorien:- Zeitrechnung
- Astronomischer Zeitbegriff
- Zeitmessung
Wikimedia Foundation.