以十進位年,表示的日期,例如2023年4月5日,表示為小數年為:2023.2623
如何需要把這個小數年轉換為約化儒略日的演算法思路如下:
def get_MJD (yearfraction):
#--------------------------
""" Compute MJD from yearfraction
:參數:小數年: time is given as a year fraction
:返回 約化儒略日
code:python3
"""
#--- 先計算這一年第一天的約化儒略日 MJD
# http://scienceworld.wolfram.com/astronomy/JulianDate.html
y = int(math.floor(yearfraction)) # year
m = 1; # month
d = 1; # day
mjd = 367*y - int(7*(y+int((m+9)/12))/4) + int(275*m/9) + d + 1721014 - 2400001
#--- 然後在加上這一年的小數部分
if y%4==0:
mjd += 366.0*(yearfraction-y)
else:
mjd += 365.0*(yearfraction-y)
return mjd