TimeUnixTai#

class astropy.time.TimeUnixTai(val1, val2, scale, precision, in_subfmt, out_subfmt, from_jd=False)[源代码]#

基类:TimeUnix

UNIX时间(TAI):自1970-01-01 00:00:00 TAI以来经过的SI秒(请参阅警告)。

这通常与标准(UTC)Unix时间的不同之处在于,UTC自1972-01-01 UTC以来引入的累积整数闰秒加上该日期的初始偏移量10秒。

此约定与Linux CLOCK_TAI(https://www.cl.cam.ac.uk/~mgk25/posix-clocks.html),和精确时间协议(https://en.wikipedia.org/wiki/Precision_Time_Protocol),的定义相匹配,后者也由高能物理中的白兔协议使用:https://white-rabbit.web.cern.ch.

Caveats:

  • 在1972年之前,对UTC进行了部分调整,因此 unixunix_tai 时间不再是整数。

  • 因为部分调整,非常精确地说, unix_tai 是从 1970-01-01 00:00:00 TAI 或等同于 1969-12-31 23:59:51.999918 UTC 。在那个时期,TAI和协调世界时的时差是8.000082秒。

  • 在正闰秒的那一天, unixunix_tai 时间在一天中以1.0的速度线性增加。另请参阅 TimeUnix 班级。

  • 负闰秒是可能的,尽管到目前为止还不需要。

实例

>>> # get the current offset between TAI and UTC
>>> from astropy.time import Time
>>> t = Time('2020-01-01', scale='utc')
>>> t.unix_tai - t.unix
37.0
>>> # Before 1972, the offset between TAI and UTC was not integer
>>> t = Time('1970-01-01', scale='utc')
>>> t.unix_tai - t.unix  
8.000082
>>> # Initial offset of 10 seconds in 1972
>>> t = Time('1972-01-01', scale='utc')
>>> t.unix_tai - t.unix
10.0

属性摘要

epoch 

从其测量时间间隔的参考纪元时间。

epoch_format 

epoch_scale 

epoch_val 

epoch_val2 

in_subfmt 

jd1 

jd2 

name 

out_subfmt 

precision 

scale 

时间尺度。

subfmts 

unit 

value 

从内部jd1和jd2返回时间表示。

方法总结

fill_value \(Subfmt)

以此格式返回与J2000(2000-01-01 12:00:00)对应的值。

set_jds(val1, val2)

初始化给定val1和val2的内部jd1和jd2属性。

to_value([parent])

从内部jd1和jd2返回时间表示。

属性文档

epoch#

从其测量时间间隔的参考纪元时间。

epoch_format = 'iso'#
epoch_scale = 'tai'#
epoch_val = '1970-01-01 00:00:00'#
epoch_val2 = None#
in_subfmt#
jd1#
jd2#
name = 'unix_tai'#
out_subfmt#
precision#
scale#

时间尺度。

subfmts = (('float', <class 'numpy.float64'>, None, <ufunc 'add'>), ('long', <class 'numpy.longdouble'>, <function longdouble_to_twoval>, <function twoval_to_longdouble>), ('decimal', <class 'numpy.object_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('str', <class 'numpy.str_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('bytes', <class 'numpy.bytes_'>, <numpy.vectorize object>, <numpy.vectorize object>))#
unit = 1.1574074074074073e-05#
value#

方法文件

classmethod fill_value(subfmt)#

以此格式返回与J2000(2000-01-01 12:00:00)对应的值。

它用作掩码数组的填充值,以确保掩码数组上的任何ERFA操作不会因掩码值而失败。

set_jds(val1, val2)#

初始化给定val1和val2的内部jd1和jd2属性。对于TimeUnix这样的timeromepoch子类,这些将是浮点数,给出自纪元时间起的有效秒数(例如1970-01-01 00:00:00)。

to_value(parent=None, **kwargs)#

从内部jd1和jd2返回时间表示。需要 parent 或者调整jds应该覆盖这个方法。