TimeUnixTai

class astropy.time.TimeUnixTai(val1, val2, scale, precision, in_subfmt, out_subfmt, from_jd=False)[source]

Bases: astropy.time.TimeUnix

Seconds from 1970-01-01 00:00:08 TAI (see notes), including leap seconds.

This will generally differ from Unix time by the cumulative integral number of leap seconds since 1970-01-01 UTC. This convention matches the definition for linux CLOCK_TAI (https://www.cl.cam.ac.uk/~mgk25/posix-clocks.html).

Caveats:

  • Before 1972, fractional adjustments to UTC were made, so the difference between unix and unix_tai time is no longer an integer.

  • Because of the fractional adjustments, to be very precise, unix_tai is the number of seconds since 1970-01-01 00:00:08 TAI or equivalently 1969-12-31 23:59:59.999918 UTC. The difference between TAI and UTC at that epoch was 8.000082 sec.

  • On the day of a leap second the difference between unix and unix_tai times increases linearly through the day by 1.0. See also the documentation for the TimeUnix class.

Examples

>>> from astropy.time import Time
>>> t = Time('2020-01-01', scale='utc')
>>> t.unix_tai - t.unix
29.0
>>> t = Time('1970-01-01', scale='utc')
>>> t.unix_tai - t.unix  
8.200000198854696e-05

Attributes Summary

cache

Return the cache associated with this instance.

epoch

Reference epoch time from which the time interval is measured

epoch_format

epoch_scale

epoch_val

epoch_val2

in_subfmt

jd1

jd2

jd2_filled

mask

masked

name

out_subfmt

scale

Time scale

subfmts

unit

value

Methods Summary

mask_if_needed(self, value)

set_jds(self, val1, val2)

Initialize the internal jd1 and jd2 attributes given val1 and val2.

to_value(self[, parent])

Return time representation from internal jd1 and jd2.

Attributes Documentation

cache

Return the cache associated with this instance.

epoch

Reference epoch time from which the time interval is measured

epoch_format = 'iso'
epoch_scale = 'tai'
epoch_val = '1970-01-01 00:00:08'
epoch_val2 = None
in_subfmt
jd1
jd2
jd2_filled
mask
masked
name = 'unix_tai'
out_subfmt
scale

Time scale

subfmts = (('float', <class 'numpy.float64'>, None, <ufunc 'add'>), ('long', <class 'numpy.float128'>, <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

Methods Documentation

mask_if_needed(self, value)
set_jds(self, val1, val2)

Initialize the internal jd1 and jd2 attributes given val1 and val2. For an TimeFromEpoch subclass like TimeUnix these will be floats giving the effective seconds since an epoch time (e.g. 1970-01-01 00:00:00).

to_value(self, parent=None, **kwargs)

Return time representation from internal jd1 and jd2. Subclasses that require parent or to adjust the jds should override this method.