使用timedelta解析日期不匹配:数据集时间转换差异排查
时间转换差异问题梳理:基于距UTC公元前1年1月1日的天数基准
咱们先把这个时间转换的核心情况理清楚:你的数据集里的时间是按距离UTC公元前1年1月1日00:00:00.0的天数来记录的,最后一条记录是736740.125天,数据集标注它对应2018年2月14日03:00 UTC,而且明确没有这个时间点之后的数据。但用不同工具转换后,都出现了固定的2天差异,具体结果如下:
- Astropy转换:得到的时间是
'2018-02-16 02:59:23.000',和标注日期差了近2天,还附带几秒的细微偏差 - Julian Days转换:给出两组结果,一是日期时间
'2018-02-16 03:00:00.000',二是对应的Julian天数736738.125——这个天数和原始记录的736740.125刚好差了2天 - datetime转换:得到
datetime.timedelta(736738, 10800),换算成天就是736738.125天,同样和原始记录差了2天
值得注意的是,所有工具转换后的结果都比数据集标注的日期晚2天,而数据集明确没有2018年2月14日03:00 UTC之后的数据,这个固定差异大概率和不同工具对"公元前1年1月1日"这个基准点的历法处理逻辑有关(比如是否涉及公元元年的特殊计算、儒略历与格里高利历的切换规则差异)。
内容的提问来源于stack exchange,提问作者Seb
相关产品推荐
相关产品推荐

