我有一个数据集,其时间为1-1-1 00:00:0.0 UTC时间,最后一次是736740.125天。
表明最后日期是2018年2月14日03:00 UTC。
使用astropy:
from astropy.time import Time,Timedelta
(Time('0001-01-01 00:00:00.0',format='iso')+TimeDelta(736740.125,format='jd')).iso
输出为'2018-02-16 02:59:23.000'
还有朱利安时代:
Time(Time('0001-01-01 00:00:00',format='iso').jd+736740.125,format='jd').iso
Time('2018-02-14 03:00:00',format='iso').jd-Time('0001-01-01 00:00:00',format='iso').jd
输出为'2018-02-16 03:00:00.000'
和736738.125
与datetime类似:
from datetime import datetime
datetime(2018,2,14,3)-datetime(1,1,1)
输出为datetime.timedelta(736738, 10800)
,736738.125天
数据集在2018年2月14日03:00 UTC的最后指定日期之后肯定没有数据。我也有与开始日期相同的2天差异,它表示为2014年2月20日00:00 UTC,自1-1-1 00:00:0.0 UTC后735285.0天。但是:
Time('2014-02-20 00:00:00',format='iso').jd-Time('0001-01-01 00:00:00',format='iso').jd
datetime(2014,2,20)-datetime(1,1,1)
两者都提供735283.0
天
有谁知道2天的差异可能来自哪里?
修改
我在IDL中使用JULDAY函数(https://www.harrisgeospatial.com/docs/julday.html)
进行匹配JULDAY(2,14,2018,3)-JULDAY(1,1,1,0)
给予736740.125
IDL > JULDAY(2,14,2018,3)
Python > Time('2018-02-14 03:00:0.0',format='iso').jd
均给予2458163.625
IDL > JULDAY(1,1,1,0)
Python > Time('0001-01-01 00:00:0.0',format='iso').jd
idl给出1721423.5 python给出1721425.5
我查看了JULDAY和Time()之间从1-2000年1月1日00:00的差异.jd
天数差异IDL-python
0 starting in 1583
10 for 1501-1582
9 for 1401-1500
8 for 1301-1400
etc for each 100 years
因此,对于1-100年,有-2天
我不确定是否有一种已经存在的方法可以在python中复制IDL的JULDAY正在做什么。