PYTHON ile Julian Date Hesabı

python Takvim konuları karışıktır ve bilhassa eski tarihlere ait hesaplamalar için birbirine girmiş durumdadır. Astronomlar bu iş için en pratik ve kolay bir metot seçmiş bulunuyorlar. Hazreti İsa’nın doğum yılı, 0 ocak ve Greenwich’in gün ortasına 17 21 057 sayısı verilmiş ve bu başlangıca göre miladdan önce ve sonra gelen günler ardardına sayılarak her bir gün sayı ile ifade edilmiştir. bu sayıma JULIAN PERIYODU ve bu sayılarla belirtilen tarihe de Julien tarihi denir, kısaca JT (batı dilinde JD) ile gösterililr. Julian periyodunun sıfır olduğu gün M.Ö. 4713 yılına rastlar. JD kullanılırken, saat, dakika ve saniye genel zamana (Greenwich zamanı) çevrildikten sonra gün kesri olarak gösterilir. bunlar için almanaklarda, astronomi kitaplarında v.b. cetveller vardır; onların kullanılması gereklidir.

ref: Astronomi Dersleri cilt -1 , EGE UNIVERSITESI FEN FAKULTESI KITAPLAR SERISI NO.11, KURESEL ASTRONOMI VE GOK MEKANIGI, Doc.Dr. Abdullah KIZILIRMAK

 

Bu durumdan yola çıkarak;  Python dilinde böyle bir çalışma yapılabilir…

Kodlar:

print #- Julian Date Calculator 1.0 -#
print Lütfen hesaplanacak tarih ve zamanı giriniz
tarih = raw_input((DD-MM-YYYY HH:MM:SS):)
if len(tarih) == 19 and tarih.count() == 2 and tarih.count(:) == 2 and tarih.count( ) == 1:
# Girilen zaman parçalanıyor…
yil = tarih[6:10]
ay = tarih[3:5]
gun = tarih[0:2]
saat = tarih[11:13]
dakika = tarih[14:16]
saniye = tarih[17:19]
if int(yil) < 4800 and int(ay) < 3 and int(gun) != 1:
print 1 Mart -4800 tarihinden önceki bir tarih için JD hesaplaması yapılamıyor.
else:
# Hesaplamalar yapılıyor…
a = int((14 int(ay)) / 12)
y = int(yil) + 4800 a
m = int(ay) + (12 * a) 3
# Gregoryen takviminde bir tarih için (öğlen):
JDN = int(gun) + int(( 153 * m + 2 ) / 5) + 365 * y + int(y / 4) int(y / 100) + int(y / 400) 32045
JD = JDN + (float(saat) 12 2) / 24 + (float(dakika) / 1440) +(float(saniye) / 86400)
saat = str(int(saat) 2)
if len(saat) == 1:
print %s%s%s %s:%s:%s (UT) zamanı için JD: %s ‘dir. %(gun, ay, yil, 0 + str(saat), dakika, saniye, JD)
else:
print %s%s%s %s:%s:%s (UT) zamanı için JD: %s ‘dir. %(gun, ay, yil, saat, dakika, saniye, JD)
else:
print Hatalı bir format girdiniz! \nLütfen tarih formatını \”DD-MM-YYYY HH:MM:SS\” şeklinde giriniz.

together with- Yücel KILIÇ (yucelkilic@myrafproject.org)

Categories: Genel

Bir Cevap Yazın