算法:(日期格式转换)小数年----->约化儒略日

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