#!/usr/bin/python
|
#-*- coding:utf-8 -*-
|
|
import math
|
from datetime import datetime
|
import time
|
|
#--------------------------------------
|
#İnt Part fonksiyonu
|
#Kullanıcı adı: husonet
|
#Hüseyin Özdemir
|
#pythontr.com
|
#28.01.2011
|
|
#--------------------------------------
|
#Yuvarlama·
|
def intPart(sFloatNum):
|
if sFloatNum < -0.0000001:
|
return math.ceil(sFloatNum -0.0000001)
|
else:
|
return math.floor(sFloatNum +0.0000001)
|
#--------------------------------------
|
#String olarak Hicri ay getir
|
def ayBul(sAy):
|
vAy = sAy
|
vAyS = <a href="http://arsiv.pilli.com/etiket/if-vAy------------vAyS--Muharrem------elif-vAy------------vAyS--Safer------elif-vAy------------vAyS--Rebiül-Evvel------elif-vAy------------vAyS--Rebiül-Ahir------elif-vAy------------vAyS--Cemaziyel-Evvel------elif-vAy------------vAyS--Cemaziyel-Ahir------elif-vAy------------vAyS--Recep------elif-vAy------------vAyS--Saban---------------------------------elif-vAy-------------------------------------------vAyS--Ramazan-------------------------------elif-vAy------------------------------------------vAyS--Sevval--------------------------------elif-vAy------------vAyS--Zilkade------elif-vAy------------vAyS--ZilHicce------return-vAyS------Çevirme-Fonksiyonu--def-miladiToHicrisGun-sAy-sYil------vAyStr---------vMesaj---------jd-------intPartsYil----intPartsAy----intPartsAyintPartsAy--intPartintPartsYilintPartsAy---sGun------l--------jd----------n--------intPartl------l--------l----n--------j--------intPartlintPartlintPartlintPartl------l--------lintPartjintPartjintPartjintPartj------vAy------math.ceilintPartl-------vGun-----math.ceillintPartvAy-------vYil-----math.ceil-n--j-------vAyStr---ayBulintvAy------if-vAyStr--Sevval----------if-vGun---and-vGun----------------vMesaj--Ramazan-Bayramı-Tatili-------elif-vAyStr--ZilHicce-Örnek--Tarihi-Kurban-Bayramı----------if-vGun---and-vGun----------------vMesaj--Kurban-Bayramı-Tatili-------vReturn-">
|
if vAy == 1:
|
vAyS = 'Muharrem'
|
elif vAy == 2:
|
vAyS = 'Safer'
|
elif vAy == 3:
|
vAyS = 'Rebiü\'l- Evvel'
|
elif vAy == 4:
|
vAyS = 'Rebiü\'l- Ahir'
|
elif vAy == 5:
|
vAyS = 'Cemaziye\'l- Evvel'
|
elif vAy == 6:
|
vAyS = 'Cemaziye\'l- Ahir'
|
elif vAy == 7:
|
vAyS = 'Recep'
|
elif vAy == 8:
|
vAyS = 'Saban'
|
elif vAy == 9:
|
vAyS = 'Ramazan'
|
elif vAy == 10:
|
vAyS = 'Sevval'
|
elif vAy == 11:
|
vAyS = 'Zi\'l-ka\'de'
|
elif vAy == 12:
|
vAyS = 'Zi\'l-Hicce'
|
return vAyS
|
|
#--------------------------------------
|
#Çevirme Fonksiyonu
|
def miladiToHicri(sGun, sAy, sYil):
|
vAyStr = ''
|
vMesaj = ''
|
jd = intPart((1461*(sYil + 4800 + intPart((sAy-14)/ 12)))/ 4) + intPart((367*(sAy-2-12*(intPart((sAy-14)/ 12))))/ 12)-intPart((3*(intPart((sYil+4900+intPart((sAy-14)/ 12))/ 100)))/ 4)+sGun-32075
|
l = jd - 1948440 + 10632
|
n = intPart((l-1)/10631)
|
l = l - 10631 * n + 354;
|
j = (intPart((10985-l)/5316))*(intPart((50*l)/17719))+(intPart(l/5670))*(intPart((43*l)/15238))
|
l = l-(intPart((30-j)/15))*(intPart((17719*j)/50))-(intPart(j/16))*(intPart((15238*j)/43))+29
|
vAy = math.ceil(((intPart((24*l)/ 709))))
|
vGun = math.ceil(l-intPart((709*vAy)/ 24))
|
vYil = math.ceil(30* n + j -30)
|
vAyStr = ayBul(int(vAy))
|
if vAyStr == 'Sevval':
|
if vGun >= 1 and vGun <= 3:
|
vMesaj = 'Ramazan Bayramı Tatili !!!'
|
elif vAyStr == 'Zi''l-Hicce': #Örnek 21/01/2005 Tarihi Kurban Bayramı
|
if vGun >= 10 and vGun <= 13:
|
vMesaj = 'Kurban Bayramı Tatili !!!'
|
vReturn = </a>"
|
Tarih: %02d %s %04d
|
Mesaj: %s
|
""" % (vGun, vAyStr, vYil, vMesaj)
|
|
#return str(vGun) + ' ' + vAyStr + ' ' + str(vYil) + ' ' + vMesaj
|
return vReturn
|
|
#--------------------------------------
|
#Örnek Deneme
|
print miladiToHicri(float(19),float(8),float(2012)) |