从TAI修改的Julian日转换为Datetime
问题描述:
我试图从TAI修改的Julian日转换为datetime(反之亦然)。从TAI修改的Julian日转换为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
对象的声明,但这似乎没有改变任何内容。
有没有人看到解决不稳定偏移量的方法?
答
它看起来像你混合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)
谢谢!你能解释一下'iso'是什么吗? –
'.iso'属性只返回['TimeISO'](http://docs.astropy.org/en/stable/api/astropy.time.TimeISO.html#astropy.time.TimeISO)实例。 – MSeifert