时间

class astropy.time.Time(val, val2=None, format=None, scale=None, precision=None, in_subfmt=None, out_subfmt=None, location=None, copy=False)[源代码]

基类:astropy.time.core.TimeBase

表示和操纵天文学的时间和日期。

A Time 对象初始化了一次或多次 val 争论。输入时间 val 必须符合规定 format 必须与规定的时间相对应 scale . 可选的 val2 时间输入只能用于要求非常高精度(优于64位精度)的数字输入格式(例如JD)。

的允许值 format 可列出:

>>> list(Time.FORMATS)
['jd', 'mjd', 'decimalyear', 'unix', 'unix_tai', 'cxcsec', 'gps', 'plot_date',
 'stardate', 'datetime', 'ymdhms', 'iso', 'isot', 'yday', 'datetime64',
 'fits', 'byear', 'jyear', 'byear_str', 'jyear_str']

另请参见:http://docs.astropy.org/en/stable/time/

参数
val :sequence、ndarray、number、str、bytes或 Time 对象序列、ndarray、number、str、bytes或

值来初始化一个或多个时间。字节被解码为ascii码。

val2序列、序列号或编号;可选

值来初始化一个或多个时间。仅用于数字输入,以帮助保持精度。

format可选的STR

输入值的格式

scale可选的STR

输入值的时间刻度必须是以下值之一:('tai'、'tcb'、'tcg'、'tdb'、'tt'、'ut1'、'utc')

precision可选的

时间的字符串表示中的精度位数

in_subfmt可选的STR

Unix glob选择用于分析输入时间的子格式

out_subfmt可选的STR

Unix glob选择输出时间的子格式

位置EarthLocation 或元组,可选地球位置或元组,可选

如果作为元组给出,它应该能够初始化EarthLocation实例,也就是说,要么包含3个具有地心坐标长度单位的项目,要么包含经度、纬度和大地坐标的可选高度。可以是单个位置,也可以是每个输入时间对应一个位置。如果没有给出,则假定为地球的中心,用于太阳系重心之间的时间尺度转换。

copy可选的布尔

复制输入值

属性摘要

FORMATS 

时间格式的Dict

SCALES 

时间刻度表列表

T 

返回一个实例,并将数据转置。

cache 

返回与此实例关联的缓存。

delta_tdb_tt 

TDB-TT时间刻度偏移

delta_ut1_utc 

UT1-UTC时间刻度偏移量

format 

获取或设置时间格式。

in_subfmt 

Unix通配符模式,用于选择用于分析字符串输入时间的子格式。

info 

用于存储诸如名称、描述、格式等元信息的容器。

isscalar 

jd1 

在JD中内部存储时间值的两个双精度值中的第一个。

jd2 

JD商店的第二(2)倍的时间价值。

mask 

masked 

ndim 

实例和基础数组的维度数。

out_subfmt 

Unix通配符模式,用于选择用于输出时间的子格式。

precision 

以浮点形式输出秒时的十进制精度(0到9之间的整数值)。

scale 

时间尺度

shape 

时间实例的形状。

size 

根据形状计算的对象大小。

value 

当前格式的时间值

writeable 

方法总结

argmax \ [axis, out] )

返回给定轴上最大值的索引。

argmin \ [axis, out] )

返回沿给定轴的最小值的索引。

argsort \ [axis] )

返回将对时间数组进行排序的索引。

copy \ [format] )

返回时间对象的完全独立副本,可以选择更改格式。

diagonal * ARGs, *  * 克瓦格斯)

返回具有指定对角线的实例。

flatten * ARGs, *  * 克瓦格斯)

返回数组折叠为一维的副本。

get_delta_ut1_utc \ [iers_table, return_status] )

通过在IERS表中插值找到UT1-UTC差异。

insert \(目标,值[, axis] )

在列中的给定索引之前插入值,并返回一个新的 TimeTimeDelta 对象。

isclose \(其他[, atol] )

返回一个布尔数组或布尔数组,其中两个时间对象在时间容差内元素上相等。

light_travel_time \(skycoord公司[, kind, ...] )

对重心或日心的光旅行时间修正。

max \ [axis, out, keepdims] )

沿给定轴的最大值。

min \ [axis, out, keepdims] )

沿给定轴的最小值。

now ()

创建与调用此方法的时间对应的新对象。

ptp \ [axis, out, keepdims] )

沿给定轴的峰对峰(最大值-最小值)。

ravel * ARGs, *  * 克瓦格斯)

返回数组折叠为一维的实例。

replicate \ [format, copy, cls] )

返回时间对象的副本,可以选择更改格式。

reshape * ARGs, *  * 克瓦格斯)

返回包含具有新形状的相同数据的实例。

sidereal_time \(善良[, longitude, model] )

计算恒星时间。

sort \ [axis] )

返回沿指定轴排序的副本。

squeeze * ARGs, *  * 克瓦格斯)

返回删除了一维形状项的实例

strftime \(格式规格)

将时间转换为字符串或数字阵列根据格式规范的字符串。

strptime \(时间字符串,格式字符串, *  * 克瓦格斯)

根据格式规范将字符串解析为时间。

swapaxes * ARGs, *  * 克瓦格斯)

返回交换给定轴的实例。

take \(索引[, axis, out, mode] )

返回由给定索引处的元素构成的新实例。

to_datetime \ [timezone] )

转换为(可能识别时区) datetime 对象。

to_value \(格式[, subfmt] )

获取以指定输出格式表示的时间值。

transpose * ARGs, *  * 克瓦格斯)

返回一个实例,并将数据转置。

属性文档

FORMATS = {'byear': <class 'astropy.time.formats.TimeBesselianEpoch'>, 'byear_str': <class 'astropy.time.formats.TimeBesselianEpochString'>, 'cxcsec': <class 'astropy.time.formats.TimeCxcSec'>, 'datetime': <class 'astropy.time.formats.TimeDatetime'>, 'datetime64': <class 'astropy.time.formats.TimeDatetime64'>, 'decimalyear': <class 'astropy.time.formats.TimeDecimalYear'>, 'fits': <class 'astropy.time.formats.TimeFITS'>, 'gps': <class 'astropy.time.formats.TimeGPS'>, 'iso': <class 'astropy.time.formats.TimeISO'>, 'isot': <class 'astropy.time.formats.TimeISOT'>, 'jd': <class 'astropy.time.formats.TimeJD'>, 'jyear': <class 'astropy.time.formats.TimeJulianEpoch'>, 'jyear_str': <class 'astropy.time.formats.TimeJulianEpochString'>, 'mjd': <class 'astropy.time.formats.TimeMJD'>, 'plot_date': <class 'astropy.time.formats.TimePlotDate'>, 'stardate': <class 'astropy.time.formats.TimeStardate'>, 'unix': <class 'astropy.time.formats.TimeUnix'>, 'unix_tai': <class 'astropy.time.formats.TimeUnixTai'>, 'yday': <class 'astropy.time.formats.TimeYearDayTime'>, 'ymdhms': <class 'astropy.time.formats.TimeYMDHMS'>}

时间格式的Dict

SCALES = ('tai', 'tcb', 'tcg', 'tdb', 'tt', 'ut1', 'utc', 'local')

时间刻度表列表

T

返回一个实例,并将数据转置。

参数与 T . 所有内部数据都是原始数据的视图。

cache

返回与此实例关联的缓存。

delta_tdb_tt

TDB-TT时间刻度偏移

delta_ut1_utc

UT1-UTC时间刻度偏移量

format

获取或设置时间格式。

该格式定义了通过访问时表示时间的方式 .value 属性。默认情况下,它与初始化 Time 实例,但可以将其设置为可用于初始化的任何其他值。这些可以用以下方式列出:

>>> list(Time.FORMATS)
['jd', 'mjd', 'decimalyear', 'unix', 'unix_tai', 'cxcsec', 'gps', 'plot_date',
 'stardate', 'datetime', 'ymdhms', 'iso', 'isot', 'yday', 'datetime64',
 'fits', 'byear', 'jyear', 'byear_str', 'jyear_str']
in_subfmt

Unix通配符模式,用于选择用于分析字符串输入时间的子格式。

info

用于存储诸如名称、描述、格式等元信息的容器。当对象用作表中的mixin列时,这是必需的,但也可以作为存储元信息的通用方法。

isscalar
jd1

在JD中内部存储时间值的两个双精度值中的第一个。

jd2

JD商店的第二(2)倍的时间价值。

mask
masked
ndim

实例和基础数组的维度数。

out_subfmt

Unix通配符模式,用于选择用于输出时间的子格式。

precision

以浮点形式输出秒时的十进制精度(0到9之间的整数值)。

scale

时间尺度

shape

时间实例的形状。

喜欢 shape ,可以通过指定元组设置为新形状。请注意,如果不同的实例共享一些但不是所有的底层数据,那么设置一个实例的形状可能会使另一个实例不可用。因此,强烈建议对新实例进行重新构造 reshape 方法。

加薪
ValueError

如果新形状的元素总数错误。

AttributeError

如果 jd1jd2locationdelta_ut1_utcdelta_tdb_tt 如果不复制数组,则无法更改属性。对于这些情况,请使用 Time.reshape 方法(该方法复制任何不能就地重塑的数组)。

size

根据形状计算的对象大小。

value

当前格式的时间值

writeable

方法文件

argmax(axis=None, out=None)

返回给定轴上最大值的索引。

这和 argmax() ,但为了确保两个数字的完全精度翻倍 jd1jd2 被使用。看到了吗 argmax() 有关详细文档。

argmin(axis=None, out=None)

返回沿给定轴的最小值的索引。

这和 argmin() ,但为了确保两个数字的完全精度翻倍 jd1jd2 被使用。看到了吗 argmin() 有关详细文档。

argsort(axis=- 1)

返回将对时间数组进行排序的索引。

这和 argsort() ,但为了确保两个数字的完全精度翻倍 jd1jd2 ,并复制相应的属性。在内部,它使用 lexsort() ,因此无法选择排序方法。

copy(format=None)

返回时间对象的完全独立副本,可以选择更改格式。

如果 format 则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。

在此方法中,将生成内部时间数组的完整副本。内部时间数组通常不会被用户更改,因此在大多数情况下 replicate() 应使用方法。

参数
format可选的STR

副本的时间格式。

返回
tm时间对象

此对象的副本

diagonal(*args, **kwargs)

返回具有指定对角线的实例。

参数与 diagonal() . 所有内部数据都是原始数据的视图。

flatten(*args, **kwargs)

返回数组折叠为一维的副本。

参数与 flatten() .

get_delta_ut1_utc(iers_table=None, return_status=False)[源代码]

通过在IERS表中插值找到UT1-UTC差异。

参数
iers_tableIERS ,可选IERS,可选

包含与IER公告A和/或B的UT1-UTC差异的表。默认值: earth_orientation_table (这反过来又默认为 IERS_Auto

return_status布尔

是否返回状态值。如果 False (默认),IER升高 IndexError 如果任何时间超出IERS表所涵盖的范围。

返回
ut1_utc浮点或浮点数组

UT1-UTC,在IERS表中插值

statusint或int数组

状态值(如果 return_status=`True “”:: astropy.utils.iers.FROM_IERS_B astropy.utils.iers.FROM_IERS_A astropy.utils.iers.FROM_IERS_A_PREDICTION astropy.utils.iers.TIME_BEFORE_IERS_RANGE astropy.utils.iers.TIME_BEYOND_IERS_RANGE

笔记

在正常使用中,UT1-UTC差异在第一个实例中自动计算,需要UT1。

实例

要检查代码中是否有时间在IERS表范围之前:

>>> from astropy.utils.iers import TIME_BEFORE_IERS_RANGE
>>> t = Time(['1961-01-01', '2000-01-01'], scale='utc')
>>> delta, status = t.get_delta_ut1_utc(return_status=True)  
>>> status == TIME_BEFORE_IERS_RANGE  
array([ True, False]...)
insert(obj, values, axis=0)

在列中的给定索引之前插入值,并返回一个新的 TimeTimeDelta 对象。

要插入的值必须符合的就地设置规则 Time 对象(请参见 Get and set valuesTime 文件)。

API签名与 np.insert API,但更为有限。插入索引规范 obj 必须是单个整数,并且 axis 必须是 0 用于索引前的简单行插入。

参数
obj利息

前一个整数索引 values 插入。

values类似阵列的

要插入的值。如果 values 与数量不同, values 转换为匹配类型。

axis可选的

插入轴 values . 默认值为0,这是唯一允许的值,将插入一行。

返回
outTime 子类时间子类

具有插入值的新时间对象

isclose(other, atol=None)

返回一个布尔数组或布尔数组,其中两个时间对象在时间容差内元素上相等。

这将计算以下表达式:

abs(self - other) <= atol
参数
其他Time时间

用于比较的时间对象。

atolQuantityTimeDelta数量或时间增量

与时间单位相等的绝对公差(例如。 u.su.day ). 默认值是128位JD时间表示中的两位,相当于大约40个picosec。

light_travel_time(skycoord, kind='barycentric', location=None, ephemeris=None)[源代码]

对重心或日心的光旅行时间修正。

用于计算太阳系重心和日心位置的帧变换依赖于erfa程序epv00,该程序与JPL DE405星历表一致,精度为11.2公里,对应的光旅行时间为4微秒。

该程序假设震源在远距离,即忽略有限距离效应。

参数
天空坐标SkyCoordSkyCoord

要计算其校正的天空位置。

kind可选的STR

'barycentric' (default) or 'heliocentric'

位置EarthLocation 可选地球位置,可选

要计算修正的天文台的位置。如果没有给出位置,则 location 使用时间对象的属性

ephemeris可选的STR

要使用的太阳系星历表(例如“builtin”、“jpl”)。默认情况下,使用 astropy.coordinates.solar_system_ephemeris.set . 有关详细信息,请参阅 solar_system_ephemeris .

返回
time_offsetTimeDeltaTimeDelta

重心或日心与地球之间的时间偏移,以TDB秒为单位。应加上原始时间,得到太阳系中的时间重心或日心。同时,到BJD的时间转换也将包括相对论修正。

max(axis=None, out=None, keepdims=False)

沿给定轴的最大值。

这和 max() ,但为了确保两个数字的完全精度翻倍 jd1jd2 ,并复制相应的属性。

请注意 out 参数仅用于与兼容 np.max ;因为 Time 实例是不可变的,不可能有一个 out 将结果存储在中。

min(axis=None, out=None, keepdims=False)

沿给定轴的最小值。

这和 min() ,但为了确保两个数字的完全精度翻倍 jd1jd2 ,并复制相应的属性。

请注意 out 参数仅用于与兼容 np.min ;因为 Time 实例是不可变的,不可能有一个 out 将结果存储在中。

classmethod now()[源代码]

创建与调用此方法的时间对应的新对象。

注解

“现在”是用 utcnow 函数,所以它的精度和精度是由函数决定的。一般来说,这意味着它是由你的系统时钟的精度设置的。

返回
现在时间 : Time时间

一个新的 Time 对象(或 Time 如果这是从这样的子类调用)在当前时间。

ptp(axis=None, out=None, keepdims=False)

沿给定轴的峰对峰(最大值-最小值)。

这和 ptp() ,但为了确保两个数字的完全精度翻倍 jd1jd2 使用。

请注意 out 参数仅用于与兼容 ptp ;因为 Time 实例是不可变的,不可能有一个 out 将结果存储在中。

ravel(*args, **kwargs)

返回数组折叠为一维的实例。

参数与 ravel() . 请注意,在不复制数据的情况下,不可能总是分解数组。如果要在复制数据时引发错误,则应指定形状 (-1,) 到形状属性。

replicate(format=None, copy=False, cls=None)

返回时间对象的副本,可以选择更改格式。

如果 format 则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。

如果 copy 设置为 True 然后将生成内部时间数组的完整副本。默认情况下,为了节省内存,复制副本将使用对原始阵列的引用。内部时间数组通常不可由用户更改,因此在大多数情况下不需要设置 copyTrue .

方便方法copy()可用,其中 copyTrue 默认情况下。

参数
format可选的STR

复制副本的时间格式。

copy可选的布尔

返回真实副本,而不是尽可能使用引用。

返回
tm时间对象

此对象的副本

reshape(*args, **kwargs)

返回包含具有新形状的相同数据的实例。

参数与 reshape() 。请注意,并非总是可以在不复制数据的情况下更改数组的形状(请参见 reshape() 文档)。如果希望在复制数据时引发错误,则应将新形状分配给Shape属性(注意:这可能不适用于所有使用 NDArrayShapeMethods )。

sidereal_time(kind, longitude=None, model=None)[源代码]

计算恒星时间。

参数
kindSTR

'mean''apparent' 也就是说,只考虑岁差,也可以解释章动。

经度Quantitystr ,或无;可选数量、结构或无;可选

在地球上计算恒星时间的经度。可以作为 Quantity 带角度单位(或 AngleLongitude ),或作为天文台的名称(目前仅 'greenwich' 支持,相当于0度)。如果 None (默认),则 lon 使用时间对象的属性。

model字符串或无;可选

进动(和章动)模型。可用的有:-明显的: [“IAU1994”、“IAU2000A”、“IAU2000B”、“IAU2006A”] -平均值: [“IAU1982”、“IAU2000”、“IAU2006”] 如果 None (默认),将使用上面相应列表中的最后一个(最新的)。

返回
恒星时Longitude经度

以小时为单位的恒星时

sort(axis=- 1)

返回沿指定轴排序的副本。

这和 sort() ,但内部使用索引 lexsort() 以确保两个数字的完全精度加倍 jd1jd2 保留,并且相应的属性也被正确地排序和复制。

参数
axisint或无

要排序的轴。如果 None ,对展平数组进行排序。默认情况下,按最后一个轴排序。

squeeze(*args, **kwargs)

返回删除了一维形状项的实例

参数与 squeeze() . 所有内部数据都是原始数据的视图。

strftime(format_spec)[源代码]

将时间转换为字符串或数字阵列根据格式规范的字符串。看到了吗 time.strftime 格式规范文件。

参数
format_specSTR

返回字符串的格式定义。

返回
formattedstr或数字阵列

字符串或数字阵列根据给定格式字符串格式化的字符串。

classmethod strptime(time_string, format_string, **kwargs)[源代码]

根据格式规范将字符串解析为时间。看到了吗 time.strptime 格式规范文件。

>>> Time.strptime('2012-Jun-30 23:59:60', '%Y-%b-%d %H:%M:%S')
<Time object: scale='utc' format='isot' value=2012-06-30T23:59:60.000>
参数
time_stringstr、sequence或ndarray

包含字符串类型的时间数据的对象

format_stringSTR

指定时间字符串格式的字符串。

kwargs双关语

的任何关键字参数 Time . 如果 format 关键字参数存在,这将用作时间格式。

返回
time_objTime时间

一个新的 Time 与输入相对应的对象 time_string .

swapaxes(*args, **kwargs)

返回交换给定轴的实例。

参数与 swapaxes()axis1, axis2 . 所有内部数据都是原始数据的视图。

take(indices, axis=None, out=None, mode='raise')

返回由给定索引处的元素构成的新实例。

参数与 take() ,但显然,不能给出输出数组。

to_datetime(timezone=None)[源代码]

转换为(可能识别时区) datetime 对象。

如果 timezone 不是 None ,返回时区感知日期时间对象。

参数
时区 : {tzinfo,无},可选{tzinfo, None}, optional

如果没有 None ,返回时区感知日期时间。

返回
datetime

如果 timezone 不是 None ,输出将是时区感知的。

to_value(format, subfmt='*')

获取以指定输出格式表示的时间值。

此方法允许表示 Time 所需输出中的对象 format 和可选子格式 subfmt . 可用的内置格式包括 jdmjdiso 等等。每种格式都可以有自己的子格式

对于内置的数字格式,例如 jdunixsubfmt 可以是“float”、“long”、“decimal”、“str”或“bytes”之一。在这里,“长期”使用 numpy.longdouble 精度有所提高(增强取决于平台)和“十进制” decimal.Decimal 完全精确。对于'str'和'bytes',也会选择位数,以便准确表示时间值。

对于内置的类似日期的字符串格式,“date”或“date”或“date”(或“longdate”等)之一,在 TimeFITS ). 对于包括秒的子格式,小数秒使用的位数由 precision .

参数
formatSTR

需要时间值的格式。默认:当前格式。

subfmtstr或none,可选

值或通配符模式,以选择应在其中给定值的子格式。默认值“*”选择给定格式的第一个可用值,即“float”或“date_hms”。如果 None ,使用实例的 out_subfmt .

transpose(*args, **kwargs)

返回一个实例,并将数据转置。

参数与 transpose() . 所有内部数据都是原始数据的视图。