Juliansk date

Den julianske dato ( JD ) er en astronomisk måde at måle tid på , som tæller antallet af dage, der er gået siden middag mandag den 1. januar 4713 f.Kr. e. proleptisk juliansk kalender eller, hvad der er det samme, 24. november 4714 f.Kr. e. proleptisk gregoriansk kalender (henholdsvis -4712 år og -4713 år ifølge den astronomiske optælling af år [1] ). Den første dag var nummer 0. Der er gået lidt mindre end 2,5 millioner dage siden da. Datoer ændres ved middagstid UT eller TT . For nøjagtigt at angive tidspunktet bruges en brøkdel, for eksempel svarer JD \u003d 2451545.25 til 18 timer den 1. januar 2000; 15.00 2. august 1942 - JD 2430574.125; 13.5. juni 1944 - JD 2431255.0.

Nuværende Julian Day JD = 2459886.851343 [ ]

Historie

Julianske periode

Den julianske periode blev foreslået [2] [3] af Joseph Scaliger med henblik på historie og kronologi . Da historikere konstant skal arbejde med forskellige kalendersystemer og forskellige epoker, foreslog Scaliger en kronologisk skala, hvortil alle historiske datoer kunne reduceres - den julianske periode. Hvert år blev nummereret med tre tal - anklagen (fra 1 til 15), månecyklussen (fra 1 til 19) og solcyklussen (fra 1 til 28). I begyndelsen af ​​cyklussen den 1. januar 4713 f.Kr. e. alle tal var lig med 1. Cyklusens varighed i år er 7980, hvilket er produktet af 15 19 28. Efter dette tidspunkt gentages cyklussen. Slutningen af ​​den første julianske periode falder den 23. januar 3268 ifølge den gregorianske kalender .

Fra den julianske periode til den julianske dag

I 1849 foreslog John Herschel af hensyn til astronomiske beregninger, at alle datoer blev udtrykt i form af det antal dage, der er gået siden begyndelsen af ​​Scaliger-cyklussen. Herschel valgte middag langs Alexandrias meridian som begyndelsen af ​​dagen , da det var sådan dagene blev talt i den klassiske Almagest af Claudius Ptolemæus . At bruge en halv dag som grænse for en dag er praktisk til at datere astronomiske observationer, da hele natten falder på den samme julianske dag.

I slutningen af ​​det 19. århundrede begyndte den julianske dag gradvist at blive brugt i astronomisk litteratur. Begyndelsen af ​​dagen blev normalt taget ved middagstid ifølge Greenwich-meridianen , som i 1884 fik international status.

Beregninger

Den julianske dato kan bruges til at bestemme ugedagen, til at konvertere datoerne for en kalender til datoerne for en anden, til at bestemme tidsintervallet mellem to datoer og så videre.

Beregning af en juliansk dato fra en kalenderdato

Følgende notationer bruges:

Beregning af det julianske dagtal (JDN) fra en gregoriansk dato

Først skal du beregne de mellemliggende koefficienter:

Derefter kan du beregne antallet af den julianske dag:

Alle divisioner er heltal, det vil sige, at resten af ​​divisionen kasseres (operationen med at tage heltalsdelen er i det følgende angivet med semi-firkantede parenteser omkring brøker).

Formlen er gyldig for datoer efter 23. november -4713 (4714 f.Kr.).

Beregning af det julianske dagnummer (JDN) ud fra en juliansk dato

Først skal du beregne de mellemliggende koefficienter (de er de samme som for den gregorianske kalender):

Derefter kan du beregne antallet af den julianske dag:

For julianske datoer er der også en formel:

Alle divisionsoperationer er heltal, det vil sige, at resten af ​​divisionen kasseres.

Formlerne er gyldige fra år −4712 (det vil sige for positive JDN-værdier).

Julian dato (JD) beregning

For at gå til den "fulde" julianske dato, der indeholder en brøkdel, kan du bruge formlen:

Ved opdeling i denne formel kasseres brøkdelen ikke. Dagen må ikke indeholde et skudsekund (23:59:60).

For eksempel svarer middag (12 timer, 0 minutter, 0 sekunder) den 1. januar 2000 til JD = 2451545,0.

Beregning af ugedagen fra en kendt juliansk dato

Ugedagen kan beregnes som resten af ​​JDN divideret med 7, hvor 0 er mandag, 1 er tirsdag og så videre .

JDN mod 7 0 en 2 3 fire 5 6
Dag i ugen man tir ons tor fre Lør Sol

Program til beregning i Excel

Sub Date_JDate () Dim dayy As Long , month As Long , yearr As Long , a As Long , y As Long , m As Long , jdate As Long Dim uged weekd = Array ( "mandag" , "tirsdag" , "onsdag" , "torsdag" , "fredag" , "lørdag" , "søndag" ) dag = celler ( 1 , 1 ) måned = celler ( 1 , 2 ) yearr = Celler ( 1 , 3 ) a = Int (( 14 - måneders ) / 12 ) y = år + 4800 - a m = måned + 12 * a - 3 jdate = dayy + Int (( 153 * m + 2 ) / 5 ) + Int ( 365 * y ) + Int ( y / 4 ) - Int ( y / 100 ) + Int ( y / 400 ) - 32045 Celler ( 2 , 1 ) = jdate Celler ( 3 , 1 ) = uged ( jdate Mod 7 ) ende under

Kode til beregning af JD i Ruby for det aktuelle øjeblik

ruby -e ' puts(Time.now.getutc.to_f/86400+2440587.5)'

Beregning af en kalenderdato fra en kendt juliansk dato

Beregning af en juliansk dato fra et kendt juliansk dagnummer (JDN)

Først skal du beregne de mellemliggende koefficienter:

Derefter kan du beregne dagen, måneden og året i henhold til den julianske kalender:

Alle divisioner er heltal, brøkdelen kasseres. Derfor skal 12·( m /10) i formlen for måneden ikke beregnes som (12 m )/10.

Beregning af en gregoriansk dato fra et kendt juliansk dagnummer (JDN)

Først skal du beregne de mellemliggende koefficienter:

Derefter kan du beregne dagen, måneden og året i henhold til den gregorianske kalender:

Alle divisioner er heltal, brøkdelen kasseres. Derfor skal 12·( m /10) i formlen for måneden ikke beregnes som (12 m )/10.

Konvertering af datoer fra forskellige kalendere

Konverter UNIXTIME til gregoriansk dato og klokkeslæt Eksempel på C-sprog void unixtime_to_datetime ( unsigned long unixtime , int * år , int * man , int * mdag , int * wdag , int * time , int * min , int * sek , usigneret lang * jd , usigneret lang * jdn ) { usigneret lang tid ; usigneret lang t1 ; usigneret lang a ; usigneret langt b ; usigneret lang c ; usigneret langt d ; usigneret lang e ; usigneret lang m ; * jd = (( unixtime + 43200 ) / ( 86400 >> 1 )) + ( 2440587 << 1 ) + 1 ; * jdn = * jd >> 1 ; tid = unixtime ; t1 = tid / 60 ; * sek = tid - t1 * 60 ; tid = t1 ; t1 = tid / 60 ; * min = tid - t1 * 60 ; tid = t1 ; t1 = tid / 24 ; * time = tid - t1 * 24 ; * wdag = * jdn % 7 ; a = * jdn + 32044 ; b = ( 4 * a + 3 ) / 146097 ; c = a- ( 146097 * b ) / 4 ; _ d = ( 4 * c + 3 ) / 1461 ; e = c- ( 1461 * d ) / 4 ; _ m = ( 5 * e + 2 ) / 153 ; * mdag = e- ( 153 * m + 2 ) / 5 + 1 ; _ * mon = m + 3 - 12 * ( m / 10 ); * år = 100 * b + d - 4800 + ( m / 10 ); returnere ; } Konvertering af julianske datoer til gregorianske datoer
  • Først skal du bestemme JDN fra den julianske dato ;
  • Så, ved at kende JDN , bestemmer du dagen, måneden og året i henhold til den gregorianske kalender.
Konvertering af gregorianske datoer til julianske datoer
  • Først skal du bestemme JDN fra den gregorianske dato ;
  • Så, ved at kende JDN , bestemmer du dagen, måneden og året i henhold til den julianske kalender.

Ændringer og alternativer til den julianske dag

Et stort antal cifre i den julianske dag og ændring af datoer ved middagstid er i mange tilfælde ubelejlige, så der er udviklet et stort antal dagtællingssystemer svarende til den julianske dag.

Navn Start Beregning Nu Bemærk
Julian date (JD) 12:00 1. januar 4713 f.Kr. øh, mandag 2459886.851343
Julian Day Number (JDN) 12:00 1. januar 4713 f.Kr. e. mandag (dag nummer 0) JDN = gulv (JD) 2459886
Reduceret Julian Day
( RJD ) _ 
12:00 16. november 1858, tirsdag RJD = JD - 2400000 59886.85134 nogle gange brugt af astronomer
Ændret juliansk dato
( eng.  Modified JD , MJD )
00:00 onsdag den 17. november 1858 MJD = JD - 2400000,5 59886.35134 indført af SAO i 1957; skifter ved midnat
Trunked Julian Day
( TJD ) _ 
00:00 fredag ​​den 24. maj 1968
00:00 fredag ​​den 10. november 1995
TJD = JD - 2440000,5
TJD = (JD - 0,5) mod 10000
19886.35134
9886.35134
NASA definition [4]
NIST definition
Dublin Julian Day ( DJD ) 12:00 31. december 1899, søndag DJD=JD−2415020 44866.85134 introduceret af IAU i 1955
Kronologisk juliansk dag
( engelsk  kronologisk JD , CJD )
00:00 1. januar 4713 f.Kr øh, mandag CJD = JD + 0,5 + tidszone 2459887.3513426 (UT) en for hver tidszone ; datoændringer ved midnat lokal tid
lillian dag 00:00 15. oktober 1582, fredag ​​(dag #1) floor(JD − 2299160.5) 160726 antallet af dage siden indførelsen af ​​den gregorianske kalender den 15. oktober 1582; datoændringer ved midnat UTC
ANSI dato 00:00 1. januar 1601, mandag (dag #1) floor(JD − 2305812.5) 154074 det tæller COBOL- datoer
Rata dø 1. januar, år 1, mandag (dag #1) floor(JD − 1721424.5) 738462 tæller dagene i vor tidsregning efter den gregorianske kalender
UNIX tid 1. januar 1970, torsdag (JD − 2440587,5) × 86400 1667463956 tælles i sekundet

Hvor der kræves beregninger med en nøjagtighed på minutter eller mere, er det angivet i forhold til hvilket system værdien af ​​den julianske dag er angivet. Hvis det er UTC , er den tilsvarende julianske dag betegnet med JDUTC , hvis det er en efemerisk tid, der almindeligvis bruges i astronomi , betegnes den julianske dag med JED .

Se også

Noter

  1. I borgerregnskabet for det første år e.Kr. e. før det første år f.Kr. e. I den astronomiske beretning om det første år e.Kr. e. efter år nul .
  2. "Et nyt værk om korrektion af kronologi" ("Opus novum de emendatione temporum", Paris, 1583; revideret udgave - Frankfurt, 1593)
  3. "Treasury of Chronology" ("Thesaurus temporum", Leiden, 1606; Amsterdam, 1629)
  4. Noerdlinger, 1995.

Litteratur

  • Kulikovsky P. G. Opslagsbog for amatør astronomi. - 4. udg. - M . : Nauka, 1971. - S. 581-582. — ISBN 5836003033 .

Links