Julianisches Datum aus gregorianischem Datum ohne Formel bestimmen

Als Übung versuche ich, die JD von einem bestimmten Datum im gregorianischen Kalender zu einer in UT angegebenen Zeit zu berechnen. Außerdem möchte ich dies von Grund auf tun, ohne mich auf irgendeine Formel zu verlassen. Nehmen wir an, ich wähle UT 18:30 am 28.02.2010. Ich bin nicht in der Lage, ein Ergebnis zu erhalten, das mit den Ergebnissen des US Naval Observatory übereinstimmt. Ich brauche einen Kalender-Guru, der mir zeigt, wo meine Rechnung in die Irre geht.

Zuerst finde ich die Anzahl der Jahre ab 4713 v. Chr. (julianisches Datum 0) und das Zieljahr, wobei ich darauf achte, ein zusätzliches Jahr hinzuzufügen, um 0 CE einzuschließen. Das ist 4713 + 1 + 2010 = 6724 Jahre. Die Anzahl dieser Jahre, die ein Sprung sind, ist 6724 4 3 = 1681 . Diese Gleichung versucht widerzuspiegeln, dass jedes vierte Jahr ein Schaltjahr ist, mit Ausnahme der Jahre, die nach 1582 (dem Jahr der gregorianischen Kalenderreform) liegen, die beide durch teilbar sind 100 und nicht durch 400 . Es gibt drei solcher Jahre, die von der Gesamtzahl abgezogen werden müssen – 1700, 1800, 1900. Damit bleibt 6724 1681 = 5043 Nicht-Schaltjahre.

Jetzt rechne ich diese in Tage um und ziehe die ab 10 Tage, die im Rahmen der Reform vom 4. bis 15. Oktober 1582 übersprungen wurden. 5043 ( 365 ) + 1681 ( 366 ) 10 = 2 , 455 , 928 . Als nächstes finde ich die Anzahl der Tage vom 1. Januar bis zum Zieltag im Zieljahr (28. Februar). Das ist 59 Tage und so habe ich 2 , 455 , 987 .

Schließlich wird die Zeitanzahl von Sekunden nachmittags am Zieltag als Bruchteil der Anzahl von Sekunden in einem 24-Stunden-Zeitraum berechnet. Das klappt 6 ( 60 ) ( 60 ) + 30 ( 60 ) 24 ( 60 ) ( 60 ) 0,27 . Addiert man dies zu den früheren Ergebniserträgen J D = 2455987.27 .

Die eigentliche Antwort ist 2455255.77 was einen Unterschied von lässt 2455987.27 2455255.77 = 731.5 Tage. Das sind fast zwei Jahre. Offensichtlich habe ich die Berechnung entweder falsch verstanden oder falsch durchgeführt. Jede Hilfe wäre sehr willkommen!

USNO Julian Date Converter gibt JD 2455256,27 für 2010-02-28 18:30 UT zurück. Es gibt kein Jahr 0, also 1 CE - 1 BCE = 1 Jahr; subtrahieren Sie 1 Jahr, anstatt 1 zu addieren. MJD ist einfacher zu berechnen.
Wow, das ist eine sehr interessante Frage!

Antworten (1)

Das Jahr 0 existiert nicht in der Notation BCE/CE und BC/AD. Es springt direkt von 1 v. Chr. auf 1 n. Chr. Wenn wir uns also die Jahresfolge in BCE/CE-Notation ansehen, haben wir:

3 BCE
2 BCE
1 BCE
1 CE
2 CE
3 CE

Wenn Sie die Anzahl der Jahre zwischen beispielsweise dem 1. Januar 2 v. Chr. Und dem 1. Januar 2 n. Chr. Berechnen möchten, können Sie die Jahreszahlen addieren, um 4 zu erhalten, aber dann müssen Sie 1 subtrahieren, um das Jahr 0 von der Gesamtzahl zu entfernen . gibt insgesamt 3 Jahre. In Ihrem speziellen Fall führt dies zu 4713 1 + 2010 = 6722 Jahre.

In der Astronomie verwenden wir oft ein anderes Jahreszahlensystem namens Astronomische Jahreszahlen , das ein Jahr 0 enthält und die Dinge arithmetisch bequemer macht, wenn Zeitintervalle zwischen Epochen berechnet werden. Es geht (-3, -2, -1, 0, 1, 2 usw.) Um die Jahre v. Chr. in die astronomische Jahresnotation umzuwandeln, subtrahieren wir 1 und fügen vor dem Jahr ein Minus (-) hinzu. Zum Beispiel ist das Jahr 4713 v. Chr. -4712 in astronomischer Jahresschreibweise. Ihr Jahresintervall wird dann berechnet als 2010 ( - 4712 ) = 2010 + 4712 = 6722 .

Da -4712 ein Schaltjahr ist, vereinfacht dies die Berechnung der Schaltjahre, aber vergessen Sie nicht, die kleinste Ganzzahl zu nehmen, die größer oder gleich Ihrem Ergebnis ist (die Obergrenzenfunktion). Also in diesem Fall 6722 4 3 = 1677,5 , und die Obergrenze ist 1678, und das ist die Anzahl der Schaltjahre zwischen Ihren Jahren. Außerdem hatten Sie bei Ihrer ersten Berechnung vergessen, 3 abzuziehen, weil 6724 / 4 - 3 = 1678, nicht 1681.

Schließlich beträgt das Zeitintervall zwischen dem 1. Januar und dem 28. Februar 58 Tage, nicht 59, da wir das letzte Datum nicht als Teil des Intervalls zählen. Das ergibt insgesamt 5044 365 + 1678 366 10 + 58 + 6 60 60 + 30 60 24 60 60 = 2455256.27 .

Sie geben an, dass die tatsächliche Antwort 2455255,77 ist, aber tatsächlich ist die Antwort 2455256,27. Vielleicht haben Sie im Konverter "06:30" statt "18:30" eingegeben.