Mar-03-2019, 11:59 AM
Thank you, snippsat. But I'm expecting higher precision up to more decimals, according to this clue
dt.second / 86400 + dt.microsecond / 86400000000
of the following function. Cheersdef to_jd(dt: datetime, fmt: str = 'jd') -> float: """ Converts a given datetime object to Julian date. Algorithm is copied from https://en.wikipedia.org/wiki/Julian_day All variable names are consistent with the notation on the wiki page. Parameters ---------- fmt dt: datetime Datetime object to convert to MJD Returns ------- jd: float """ a = math.floor((14-dt.month)/12) y = dt.year + 4800 - a m = dt.month + 12*a - 3 jdn = dt.day + math.floor((153*m + 2)/5) + 365*y + math.floor(y/4) - math.floor(y/100) + math.floor(y/400) - 32045 jd = jdn + (dt.hour - 12) / 24 + dt.minute / 1440 + dt.second / 86400 + dt.microsecond / 86400000000 return __to_format(jd, fmt)