算法:(日期格式轉換)小數年----->約化儒略日

以十進制年,表示的日期,例如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