Jülyen tarihi ile Miladi takvimi arasındaki dönüşüm
Jülyen tarihi Ocak beri gün sayar 1., 4713 MÖ. Chr. (JD = 0) ile. Bu tarih, daha sonra tanıtılan proleptik (gelişmiş) Jülyen takvimine dayanmaktadır .
Gregoryen takvim kullanılmaya başlandı 1582 güneş yıla Jülyen takvimine sapmasını karşılamak için.
Tablo kontrollü dönüşüm
fark | Veri |
---|---|
0 gün | 4 Ekim 1582 Temmuz. |
10 gün | 5 Ekim temmuz. / 15 Ekim 1582 greg. |
10 gün | 28 Şubat Temmuz. / 10 Mart 1700 greg. |
11 gün | 29 Şubat Temmuz. / 11 Mart 1700 greg. |
11 gün | 1 Mart . / 12 Mart 1700 greg. |
11 gün | 28 Şubat Temmuz. / 11 Mart 1800 greg. |
12 gün | 29 Şubat Temmuz. / 12 Mart 1800 greg. |
12 gün | 1 Mart . / 13 Mart 1800 greg. |
12 gün | 28 Şubat Temmuz. / 12 Mart 1900 greg. |
13 gün | 29 Şubat Temmuz. / 13 Mart 1900 greg. |
13 gün | 1 Mart . / 14 Mart 1900 greg. |
13 gün | 15 Şubat . / 28 Şubat 2000 greg. |
13 gün | 16 Şubat, Temmuz. / 29 Şubat 2000 greg. |
13 gün | 17 Şubat Temmuz. / 1 Mart 2000 greg. |
13 gün | 28 Şubat Temmuz. / 12 Mart 2000 greg. |
13 gün | 29 Şubat Temmuz. / 13 Mart 2000 greg. |
13 gün | 1 Mart . / 14 Mart 2000 greg. |
13 gün | 28 Şubat Temmuz. / 13 Mart 2100 greg. |
14 gün | 29 Şubat Temmuz. / 14 Mart 2100 greg. |
14 gün | 1 Mart . / 15 Mart 2100 greg. |
1582 takvim reformu ile on gün atlandı. Bu on gün, iki takvim arasındaki farkı 29 Şubat'a kadar oluşturuyor . / 11 Mart 1700 greg. . Jülyen takviminde artık bir gün izler, Gregoryen 1700'de artık gün yoktur, dolayısıyla 1 Mart'tan olan fark Temmuz'dur. / 12 Mart 1700 greg. on bir gün. 1800, 1900, 2100, 2200, 2300, 2500 vb. Yılların her birinde Gregoryen ile Jülyen tarihleri arasındaki aralık bir gün daha artar. 21. yüzyılda olduğu gibi 20. yüzyılda da 13 gündür. 8 Temmuz. / 21 Temmuz 1969 greg. Girilen Neil Armstrong aya ilk insan oldu.
Bugün
Bu hesaplamada, yılın başından itibaren 0 ile başlayan gün sayımına cari gün (LT) denir . 1 Ocak için LT = 0, 31 Aralık için LT = 364 (normal yıl) veya LT = 365 (artık yıl).
Tarih ile geçerli gün arasında dönüştürme yapmak için, bkz . Günün Hesaplanması .
Uygulanacak artık yıl kriteri şudur:
- Artık yıllar genellikle 4'e bölünebilen yıllardır. Ancak:
- 100'e bölünebilen yıllar, sadece 400'e bölünebiliyorlarsa artık yıllardır. (Yani, örneğin 2000 artık bir yıldı, 1900 değildi.)
Mevcut yıl
Bu hesaplamada Miladi takvimin başlangıcı 1. yılın 1 Ocak tarihine getirilir. Bu, takvimin 400 yıllık bir döngünün başlangıcında başladığı ve hesaplamanın basitleştirildiği anlamına gelir. Cari yıl (LJ) bu başlangıç yıla yıl sayısıdır. 1. yıl için , LJ = 0, 2. yıl için LJ = 1 vb. Bu günün Jülyen tarihi JD0 = 1721426'dır.
Miladi takvim → Jülyen tarihi
Geçerli gün (LT), artık yıl kriteri dikkate alınarak (A) ve günden (T) itibaren belirlenir ( Jülyen tarihi ile Jülyen takvimi arasındaki dönüşüme bakın ).
Daha sonra cari yıl (LJ), yıldan (J) hesaplanır:
LJ = J - 1
Jülyen tarihini hesaplamak için, başlangıç yılından bu yana tam 400 yıllık döngü sayısı (N400) ve son, tamamlanmamış 400 yıllık döngüdeki tam yıl sayısı (R400) hesaplanır:
N400 = LJ/400 (ganzzahlig) R400 = Rest dieser Division
Son 400 yıllık döngüdeki tam 100 yıllık döngülerin (N100) sayısı ve son, tamamlanmamış 100 yıllık döngüdeki tam yılların sayısı (R100) R400'den hesaplanır:
N100 = R400/100 (ganzzahlig) R100 = Rest dieser Division
Ardından, son 100 yıllık döngünün tam 4 yıllık döngülerinin (N4) sayısı ve son, tamamlanmamış 4 yıllık döngüdeki tam yılların (N1) sayısı R100'den hesaplanır:
N4 = R100/4 (ganzzahlig) N1 = Rest dieser Division
Jülyen tarihi daha sonra şu şekilde hesaplanır:
JD = JD0 + N400*146097 + N100*36524 + N4*1461 + N1*365 + LT
Sayılar, gün cinsinden döngülerin uzunluğudur. 4 yıllık döngü için 1461 (3 * 365 + 366), 100 yıllık döngü için 36524 (24 * 1461 + 1460) ve 400 yıllık döngü için 146097 (3 * 36524 + 36525).
Jülyen tarihi → Miladi takvim
Gregoryen takviminde belirli bir Jülyen tarihine sahip bir tarihi hesaplamak için, başlangıç yılından bu yana tam 4 yıllık döngü sayısı (N400) ve son, tamamlanmamış 400 yıllık döngünün gün sayısı (R400) hesaplanır:
N400 = (JD - JD0)/146097 (ganzzahlig) R400 = Rest dieser Division
Daha sonra, tamamlanmamış 400 yıllık döngünün tam 100 yıllık döngü sayısı (N100) ve son, tamamlanmamış 100 yıllık döngünün gün sayısı (R100) hesaplanır:
N100 = R400/36524 (ganzzahlig) R100 = Rest dieser Division
Döngünün son gününde, hesaplama N100 = 4 ve R100 = 0 olarak sonuçlanır. Bu durumda değerler düzeltilmelidir:
falls (N100=4) setze N100=3 und R100=36524
Daha sonra, tamamlanmamış 100 yıllık döngünün 4 yıllık tam döngülerinin (N4) sayısı ve son, tamamlanmamış 4 yıllık döngünün gün sayısı (R4) hesaplanır:
N4 = R100/1461 (ganzzahlig) R4 = Rest dieser Division
Son olarak, tamamlanmamış 4 yıllık döngünün tam yıl sayısı (N1) ve ayrıca geçen yıl içinde geçerli gün (LT) hesaplanır:
N1 = R4/365 (ganzzahlig) LT = Rest dieser Division
Döngünün son gününde, hesaplama N1 = 4 ve LT = 0 ile sonuçlanır. Bu durumda değerler düzeltilmelidir:
falls (N1=4) setze N1=3 und LT=365
Cari yıl LJ şu sonuçları verir:
LJ = 400*N400 + 100*N100 + 4*N4 + N1
LJ'den yılın (J) hesaplaması şunlardan kaynaklanır:
J = LJ + 1
LT'den ayı (A) ve günü (D) hesaplamak için bkz.Jülyen tarihi ile Jülyen takvimi arasındaki dönüştürme .
Örnekler
Jülyen tarihli Gregoryen takvimi
1.1.2000 GK: SK = 0 MK = -1 LT = T + 30*(M-1) + SK + MK = 1 + 30*0 - 1 = 0 LJ = J - 1 = 1999
N400= LJ/400 = 4 R400= 399 (Rest davon)
N100= R400/100 = 3 R100= 99 (Rest davon)
N4 = R100/4 = 24 N1 = 3 (Rest davon)
JD = JD0 + N400*146097 + = 1721426 + 584388 + 109572 + 35064 + 1095 + 0 --> 2451545 JD
31.12.1600 GK: SK = 1 MK = 3 LT = T + 30*(M-1) + SK + MK = 31 + 30*11 + 1 + 3 = 365 LJ = J - 1 = 1599
N400= LJ/400 = 3 R400= 399 (Rest davon)
N100= R400/100 = 3 R100= 99 (Rest davon)
N4 = R100/4 = 24 N1 = 3 (Rest davon)
JD = JD0 + N400*146097 + N100*36524 + N4*1461 + N1*365 + LT = 1721426 + 3*146097 + 109572 + 35064 + 1095 + 365 --> 2305813 JD
Gregoryen takviminde Jülyen tarihi
2451545 JD: N400= (JD - JD0)/146097 = 730119/146097 = 4 R400= 145731 (Rest davon)
N100= R400/36524 = 3 R100= 36159 (Rest davon)
N4 = R100/1461 = 24 R4 = 1095 (Rest davon)
N1 = R4/365 = 3 LT = 0 (Rest davon)
LJ = 400*N400 + 100*N100 + 4*N4 + N1 = 1999 J = LJ + 1 = 2000 M = (LT+1)/30 + 1 = 1 SK = 0 MK = -1 T = LT - 30*(M-1) - (SK + MK) = 0 - 30*0 + 1 = 1 --> 1.1.2000 GK
2305813 JD: N400= (JD - JD0)/146097 = 584387/146097 = 3 R400= 146096 (Rest davon)
N100= R400/36524 = 4 R100= 0 (Rest davon)
Korrektur, da N100=4:
N100= 3 R100= 36524
N4 = R100/1461 = 24 R4 = 1460 (Rest davon)
N1 = R4/365 = 4 LT = 0 (Rest davon)
Korrektur, da N1=4:
N1 = 3 LT = 365
LJ = 400*N400 + 100*N100 + 4*N4 + N1 = 1599 J = LJ + 1 = 1600 M = (LT+1)/30 + 1 = 13
Korrektur, da M>12:
M = 12 SK = 1 MK = 3 T = LT - 30*(M-1) - (SK + MK) = 365 - 30*11 - 4 = 31
Jülyen tarihi → Miladi takvim: Diğer olası dönüştürmeler
Örnek niteliğinde:
JD = 2447892,5
JD'ye 0,5 eklersiniz ve Z için tam sayı bölümünü ve F için ondalık bölümü (virgülden sonraki bölüm) eklersiniz . Lütfen aşağıdaki hususlara dikkat edin:
Z <2299161 o zaman:
a = Z
Z> 2299161 sonra:
a = INT ((Z - 1867216.25) / 36524.25)
A = Z + 1 + a - INT (a / 4) B = A + 1524 C = INT ((B - 122.1) / 365.25) D = INT (365.25 * C) E = INT ((B - D) / 30.6001)
Gün şu şekilde hesaplanır:
T = B - D - INT (30.6001 * E) + F
Ay:
M = E - 1 wenn E < 14 M = E - 13 wenn E = 14 oder 15
Yıl:
Y = C - 4716 wenn m > 2 Y = C - 4715 wenn m = 1 oder 2
Aşağıdaki değerler elde edilir:
JD = 2447892,5 + 0.5 = 2447893 Z = 2447893 F = 0
Z> 2299161'den beri:
a = INT ((2447893 - 1867216.25) / 36524.25) = 15 A = 2447893 + 1 + 15 - INT (15 / 4) = 2447906 B = 2449430 C = 6705 D = 2449001 E = 14
Sonuç:
T = 1 M = E - 13 = 1 denn E = 14 Y = C - 4715 = 1990 denn m = 1
Aradığımız tarih 1 Ocak 1990
Haftanın gününü belirleyin
Bu, Jülyen randevusunun yardımı ile yapılır. İlk verilen tarih YD hesaplamak, 1,5 ile bu ekleme ve 7 ile kalanını bölmenizdir bölme ( modülo ) gösterir haftanın günü:
0 = Sonntag 1 = Montag ... 6 = Samstag
Örneği kullanarak: 1 Ocak 1990
1. Januar 1990 = 2447892,5 2447892,5 + 1.5 = 2447894 2447894 MOD 7 = 1
1 Ocak 1990 bir Pazartesi idi .
Bilgisayar sistemlerindeki mevcut işlevler
Bu tür zaman dönüşümleri, günümüzden birkaç on yıl önce veya sonra (21. yüzyılın başlarında), ortak bilgisayar işletim sistemleri ve çalışma zamanı ortamları (örneğin, C ++ ve diğer programlama dillerimktime()
için bir işlev olarak ) tarafından gerçekleştirilir. On Unix benzeri sistemler, Jülyen tarih bölerek hesaplanabilir "beri saniye 01/01/1970 00:00 ( )" 60 * 60 * 24 = 86400 ile ve sabit 2440587,5 ekledi. Bu nedenle, bu tür dönüştürmelerin yalnızca daha ileri zaman aralıkları için bilgisayar programlarında veya özerk mikro denetleyicilerde uygulanması gerekir (bunlar üzerinde tam bir çalışma ortamı yoksa).
time_t
İnternet linkleri
- Almanca takvim hesaplayıcısı
- İngilizceye Takvim Dönüşümü ( John Walker )