我正在尝试从TAI修改的Julian Day转换为datetime (反之亦然)。
我一直在浏览astropy的Time()文档,我已经接近了:
from astropy.time import Time
constantOffset = 2430000
input1 = 27754.500428240735 # corresponds to 2017-01-01 00:00:00 in TAIMJD
input2 = 27253.500416666669 # corresponds to 2015-08-19 00:00:00 in TAIMJD
t1 = Time(input1 + constantOffset, format='jd')
print(t1.datetime) # 2017-01-01 00:00:37
t2 = Time(input2 + constantOffset, format='jd')
print(t2.datetime) # 2015-08-19 00:00:36这里的问题是,有一个基于年份的变化的偏移量-参见http://maia.usno.navy.mil/ser7/tai-utc.dat
我尝试过将参数scale='tai'添加到Time对象的声明中,但这似乎不会改变任何事情。
有没有人有办法解释这种不稳定的偏移量?
可能会有帮助- http://docs.astropy.org/en/stable/time/
发布于 2017-08-09 03:43:09
看起来你把TAI和UTC时标混在一起了。astropy.time.Time中的默认时间scale是UTC,但您输入的是相对于TAI的JD时间。以下是您可能预期的结果:
>>> t1 = Time(input1 + constantOffset, format='jd', scale='tai')
>>> t1_utc = t1.utc
>>> t1_utc.iso
'2017-01-01 00:00:00.000'
>>> t1_utc.datetime
datetime.datetime(2017, 1, 1, 0, 0)https://stackoverflow.com/questions/45573334
复制相似问题