줄리안 일수 산출을 위해서는 윤년여부 체크를 하여 실제 그 해의 해당 일자에 대한 일수를 365 나 366 일수에 해당 일자로 전환하여 산출한다.
현재 일자를 줄리안 즉 시퀀스 일자대로 수정하는 로직이다
#일자 산출 함수
def dayconvert(month) :
convertDay = 0
dayDict = {'01':0, '02':31, '03':59, '04':90, '05':120,
'06':151, '07':181, '08':212, '09':243, '10':273,
'11':304, '12':334}
convertDay = dayDict[month]
return convertDay
#줄리안데이 산출 함수
def julian(date):
year = int(date[0:4])
month = date[4:6]
day = int(date[6:8])
#윤년여부 호출
yuncheck = yunyear(year)
# 일자산출
Dday = dayconvert(month)
# 줄리안 데이 산출
Dday = Dday + day
# 유년여부 체크 및 윤년일 경우 일수조정
if yuncheck == 1:
if int(month) > 2 :
Dday = Dday + 1
# 100일 미만일 경우 포맷조정
if Dday < 100 :
Dday = '0' + str(Dday)
else :
pass
#줄리안 일자를 스트링으로 포맷 조정
date1 = str(year) + str(Dday)
return date1
#윤년 체크 함수
def yunyear(year) :
intyear = int(year)
if intyear % 4 == 0 :
if intyear % 100 == 0 :
if intyear % 400 == 0 :
yuncheck = 1
else:
yuncheck = 2
else:
yuncheck = 1
else:
yuncheck =2
return yuncheck
#줄리안 산출 호출
print julian('20130301')
#윤년 점검 호출
print yunyear('2014')
댓글
댓글 쓰기