时间#
- class astropy.time.Time(val, val2=None, format=None, scale=None, precision=None, in_subfmt=None, out_subfmt=None, location=None, copy=False)[源代码]#
基类:
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
object
PYTHON:SEQUENCE、ndarray、NUMBER、PYTHON:字符串、字节或时间对象 值来初始化一个或多个时间。字节被解码为ascii码。
- val2 : sequence ,
ndarray
,或数字;可选PYTHON:Sequence、ndarray或Number;可选 值来初始化一个或多个时间。仅用于数字输入,以帮助保持精度。
- format :
str
,可选Python:字符串,可选 输入值的格式(S),指定如何解释它们(例如,ISO、JD或Unix时间)。默认情况下,输出表示将使用相同的格式。
- scale :
str
,可选Python:字符串,可选 输入值的时间刻度必须是以下值之一:('tai'、'tcb'、'tcg'、'tdb'、'tt'、'ut1'、'utc')
- precision :
int
,可选PYTHON:int,可选 时间的字符串表示中的精度位数
- in_subfmt :
str
,可选Python:字符串,可选 Unix glob选择用于分析输入时间的子格式
- out_subfmt :
str
,可选Python:字符串,可选 Unix glob选择输出时间的子格式
- location :
EarthLocation
ortuple
,可选EarthLocation或Python:元组,可选 如果作为元组给出,它应该能够初始化EarthLocation实例,也就是说,要么包含3个具有地心坐标长度单位的项目,要么包含经度、纬度和大地坐标的可选高度。可以是单个位置,也可以是每个输入时间对应一个位置。如果没有给出,则假定为地球的中心,用于太阳系重心之间的时间尺度转换。
- copy : bool ,可选可选的布尔
复制输入值
- val : sequence ,
属性摘要
时间格式的Dict
时间刻度表列表
返回一个实例,并将数据转置。
返回与此实例关联的缓存。
TDB-TT时间刻度偏移
UT1-UTC时间刻度偏移量
获取或设置时间格式。
Unix通配符模式,用于选择用于分析字符串输入时间的子格式。
用于存储诸如名称、描述、格式等元信息的容器。
在JD中内部存储时间值的两个双精度值中的第一个。
JD商店的第二(2)倍的时间价值。
实例和基础数组的维度数。
Unix通配符模式,用于选择用于输出时间的子格式。
以浮点形式输出秒时的十进制精度(0到9之间的整数值)。
时间尺度。
时间实例的形状。
根据形状计算的对象大小。
获取一个不带遮罩的实例。
当前格式的时间值(S)。
方法总结
argmax
([axis, out])返回给定轴上最大值的索引。
argmin
([axis, out])返回沿给定轴的最小值的索引。
argsort
([axis, kind])返回将对时间数组进行排序的索引。
copy
([format])返回时间对象的完全独立副本,可以选择更改格式。
diagonal
(*args, **kwargs)返回具有指定对角线的实例。
earth_rotation_angle
([longitude])计算局部地球自转角度。
filled
(fill_value)获取底层数据的副本,并填充掩码值。
flatten
(*args, **kwargs)返回数组折叠为一维的副本。
get_delta_ut1_utc
([iers_table, return_status])通过在IERS表中插值找到UT1-UTC差异。
insert
(obj, values[, axis])isclose
(other[, atol])返回一个布尔数组或布尔数组,其中两个时间对象在时间容差内元素上相等。
light_travel_time
(skycoord[, kind, ...])对重心或日心的光旅行时间修正。
max
([axis, out, keepdims])沿给定轴的最大值。
mean
([axis, dtype, out, keepdims, where])沿给定轴的平均值。
min
([axis, out, keepdims])沿给定轴的最小值。
now
\()创建与调用此方法的时间对应的新对象。
ptp
([axis, out, keepdims])沿给定轴的峰对峰(最大值-最小值)。
ravel
(*args, **kwargs)返回数组折叠为一维的实例。
replicate
([format, copy, cls])返回时间对象的副本,可以选择更改格式。
reshape
(*args, **kwargs)返回包含具有新形状的相同数据的实例。
sidereal_time
(kind[, longitude, model])计算恒星时间。
sort
([axis])返回沿指定轴排序的副本。
squeeze
(*args, **kwargs)返回删除了一维形状条目的实例。
strftime
(format_spec)将时间转换为字符串或数字阵列根据格式规范的字符串。
strptime
(time_string, format_string, **kwargs)根据格式规范将字符串解析为时间。
swapaxes
(*args, **kwargs)返回交换给定轴的实例。
take
(indices[, axis, out, mode])返回由给定索引处的元素构成的新实例。
to_datetime
([timezone, leap_second_strict])转换为(可能识别时区)
datetime
对象。to_string
\()输出Time或TimeDelta对象的字符串表示形式。
to_value
(format[, subfmt])获取以指定输出格式表示的时间值。
transpose
(*args, **kwargs)返回一个实例,并将数据转置。
属性文档
- 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')#
时间刻度表列表
- 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
如果
jd1
,jd2
,location
,delta_ut1_utc
或delta_tdb_tt
如果不复制数组,则无法更改属性。对于这些情况,请使用Time.reshape
方法(该方法复制任何不能就地重塑的数组)。
- size#
根据形状计算的对象大小。
- unmasked#
获取一个不带遮罩的实例。
请注意,当用户获得新实例时,底层数据将是共享的。
- value#
当前格式的时间值(S)。
- writeable#
方法文件
- argmax(axis=None, out=None)#
返回给定轴上最大值的索引。
这和
argmax()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
被使用。看到了吗argmax()
有关详细文档。
- argmin(axis=None, out=None)#
返回沿给定轴的最小值的索引。
这和
argmin()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
被使用。看到了吗argmin()
有关详细文档。
- argsort(axis=-1, kind='stable')#
返回将对时间数组进行排序的索引。
这和
argsort()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。在内部,它使用lexsort()
,因此无法选择排序方法。
- copy(format=None)#
返回时间对象的完全独立副本,可以选择更改格式。
如果
format
则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。在此方法中,将生成内部时间数组的完整副本。内部时间数组通常不会被用户更改,因此在大多数情况下
replicate()
应使用方法。
- diagonal(*args, **kwargs)#
返回具有指定对角线的实例。
参数与
diagonal()
. 所有内部数据都是原始数据的视图。
- earth_rotation_angle(longitude=None)[源代码]#
计算局部地球自转角度。
- 参数:
- longitude :
Quantity
,EarthLocation
,str
,或无;可选Quantity、EarthLocation、Python:字符串或无;可选 地球上计算地球自转角度的经度(根据需要从某个位置获取)。如果
None
(默认),取自location
时间实例的属性。如果特殊字符串‘tio’,则结果将相对于陆地中间起源(TIO)(即era00
)。
- longitude :
- 返回:
Longitude
以小时角为单位的局部地球自转角度。
笔记
视恒星时间和地球自转角度之间的差异是原点的方程,原点是天文中间原点(CIO)和春分之间的夹角。将视星时应用于小时角可得到相对于春分的真正视右赤纬,而应用地球自转角度则可产生相对于CIO的中间(CIRS)右赤纬。
其结果包括地球定位器,该定位器将陆地中间原点定位在中间天极(CIP)的赤道上,并针对极移进行了严格的校正。(除下列情况外
longitude='tio'
)。工具书类
IAU 2006NFA词汇表(目前位于:https://syrte.obspm.fr/iauWGnfa/NFA_Glossary.html)
- get_delta_ut1_utc(iers_table=None, return_status=False)[源代码]#
通过在IERS表中插值找到UT1-UTC差异。
- 参数:
- iers_table :
IERS
,可选IERS,可选 包含与IER公告A和/或B的UT1-UTC差异的表。默认值:
earth_orientation_table
(这反过来又默认为IERS_Auto
)- return_status : bool布尔
是否返回状态值。如果
False
(默认),IER升高IndexError
如果任何时间超出IERS表所涵盖的范围。
- iers_table :
- 返回:
- ut1_utc :
float
或float
array
PYTHON:FLOAT或PYSTON:FLOAT数组 UT1-UTC,在IERS表中插值
- status :
int
或int
array
PYTHON:INT或PYTHON: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-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)#
在列中的给定索引之前插入值,并返回一个新的
Time
或TimeDelta
对象。要插入的值必须符合的就地设置规则
Time
对象(请参见Get and set values
在Time
文件)。API签名与
np.insert
API,但更为有限。插入索引规范obj
必须是单个整数,并且axis
必须是0
用于索引前的简单行插入。- 参数:
- obj :
int
Python :整型 前一个整数索引
values
插入。- values : array_likeNumpy:ARRAY_LIKE
要插入的值。如果
values
与数量不同,values
转换为匹配类型。- axis :
int
,可选PYTHON:int,可选 插入轴
values
. 默认值为0,这是唯一允许的值,将插入一行。
- obj :
- 返回:
- out :
Time
子类时间子类 具有插入值的新时间对象
- out :
- isclose(other, atol=None)#
返回一个布尔数组或布尔数组,其中两个时间对象在时间容差内元素上相等。
这将计算以下表达式:
abs(self - other) <= atol
- light_travel_time(skycoord, kind='barycentric', location=None, ephemeris=None)[源代码]#
对重心或日心的光旅行时间修正。
用于计算太阳系重心和日心位置的帧变换依赖于erfa程序epv00,该程序与JPL DE405星历表一致,精度为11.2公里,对应的光旅行时间为4微秒。
该程序假设震源在远距离,即忽略有限距离效应。
- 参数:
- 天空坐标 :
SkyCoord
SkyCoord
要计算其校正的天空位置。
- kind :
str
,可选Python:字符串,可选 'barycentric'
(default) or'heliocentric'
- 位置 :
EarthLocation
可选地球位置,可选 要计算修正的天文台的位置。如果没有给出位置,则
location
使用时间对象的属性- ephemeris :
str
,可选Python:字符串,可选 要使用的太阳系星历表(例如“builtin”、“jpl”)。默认情况下,使用
astropy.coordinates.solar_system_ephemeris.set
. 有关详细信息,请参阅solar_system_ephemeris
.
- 天空坐标 :
- 返回:
- max(axis=None, out=None, keepdims=False)#
沿给定轴的最大值。
这和
max()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。请注意
out
参数仅用于与兼容np.max
;因为Time
实例是不可变的,不可能有一个out
将结果存储在中。
- mean(axis=None, dtype=None, out=None, keepdims=False, *, where=True)[源代码]#
沿给定轴的平均值。
这类似于
mean()
,但进行了调整,以确保两个双精度jd1
和jd2
并复制相应的属性。请注意,
out
参数的存在只是为了与np.mean
;自Time
实例是不可变的,因此不可能具有实际的out
将结果存储在。类似地,
dtype
参数也只是为了兼容性而存在;它对Time
。- 参数:
- axis :
None
或int
或tuple
的int
,可选PYTHON:NONE或PYTHON:INT或PYTHON:PYTHON的元组:INT,可选 沿其计算平均值的一个或多个轴。默认情况下,计算展平数组的平均值。
- dtype :
None
Python :无 - out :
None
Python :无 - keepdims : bool ,可选可选的布尔
如果设置为True,则减少的轴将作为尺寸为1的尺寸保留在结果中。使用此选项,结果将针对输入数组正确广播。
- where : array_like 的 bool ,可选NumPy:bool的数组_like,可选
要包含在平均值中的元素。看见
reduce
了解更多细节。
- axis :
- 返回:
- m :
Time
时间 包含平均值的新时间实例
- m :
- min(axis=None, out=None, keepdims=False)#
沿给定轴的最小值。
这和
min()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。请注意
out
参数仅用于与兼容np.min
;因为Time
实例是不可变的,不可能有一个out
将结果存储在中。
- classmethod now()[源代码]#
创建与调用此方法的时间对应的新对象。
备注
“Now”是使用
now
函数,因此它的准确性和精确度由该函数决定。通常这意味着它是由系统时钟的精确度设置的。时区设置为UTC。
- ptp(axis=None, out=None, keepdims=False)#
沿给定轴的峰对峰(最大值-最小值)。
这和
ptp()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
使用。
- ravel(*args, **kwargs)#
返回数组折叠为一维的实例。
参数与
ravel()
. 请注意,在不复制数据的情况下,不可能总是分解数组。如果要在复制数据时引发错误,则应指定形状(-1,)
到形状属性。
- replicate(format=None, copy=False, cls=None)#
返回时间对象的副本,可以选择更改格式。
如果
format
则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。如果
copy
设置为True
然后将生成内部时间数组的完整副本。默认情况下,为了节省内存,复制副本将使用对原始阵列的引用。内部时间数组通常不可由用户更改,因此在大多数情况下不需要设置copy
到True
.方便方法copy()可用,其中
copy
是True
默认情况下。
- reshape(*args, **kwargs)#
返回包含具有新形状的相同数据的实例。
参数与
reshape()
。请注意,并非总是可以在不复制数据的情况下更改数组的形状(请参见reshape()
文档)。如果希望在复制数据时引发错误,则应将新形状分配给Shape属性(注意:这可能不适用于所有使用NDArrayShapeMethods
)。
- sidereal_time(kind, longitude=None, model=None)[源代码]#
计算恒星时间。
- 参数:
- kind :
str
Python :字符串 'mean'
或'apparent'
也就是说,只考虑岁差,也可以解释章动。- longitude :
Quantity
,EarthLocation
,str
,或无;可选Quantity、EarthLocation、Python:字符串或无;可选 地球上计算地球自转角度的经度(根据需要从某个位置获取)。如果
None
(默认),取自location
时间实例的属性。如果是特殊字符串‘Greenwich’或‘tio’,则对于2000年之前的模型,结果将相对于经度0,对于之后的模型,结果将相对于陆地中间原点(TIO)(即,计算格林威治恒星时间的相关ERFA函数的输出)。- model :
str
或无;可选PYTHON:字符串或无;可选 进动(和章动)模型。可用的有:-明显的: [“IAU1994”、“IAU2000A”、“IAU2000B”、“IAU2006A”] -平均值: [“IAU1982”、“IAU2000”、“IAU2006”] 如果
None
(默认),将使用上面相应列表中的最后一个(最新的)。
- kind :
- 返回:
Longitude
当地恒星时间,以小时角为单位。
笔记
视恒星时间和地球自转角度之间的差异是原点的方程,原点是天文中间原点(CIO)和春分之间的夹角。将视星时应用于小时角可得到相对于春分的真正视右赤纬,而应用地球自转角度则可产生相对于CIO的中间(CIRS)右赤纬。
对于自2000年起的IAU进动模型,结果包括将陆地中间原点定位在中间天极(CIP)的赤道上的(s‘),并针对极移进行了严格的校正(除非当
longitude='tio'
或'greenwich'
)。工具书类
IAU 2006NFA词汇表(目前位于:https://syrte.obspm.fr/iauWGnfa/NFA_Glossary.html)
- sort(axis=-1)#
返回沿指定轴排序的副本。
这和
sort()
,但内部使用索引lexsort()
以确保两个数字的完全精度加倍jd1
和jd2
保留,并且相应的属性也被正确地排序和复制。
- strftime(format_spec)[源代码]#
将时间转换为字符串或数字阵列根据格式规范的字符串。看到了吗
time.strftime
格式规范文件。- 参数:
- format_spec :
str
Python :字符串 返回字符串的格式定义。
- format_spec :
- 返回:
- formatted :
str
或numpy.array
PYTHON:STR或Numpy.array 字符串或数字阵列根据给定格式字符串格式化的字符串。
- formatted :
- 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>
- swapaxes(*args, **kwargs)#
返回交换给定轴的实例。
参数与
swapaxes()
:axis1, axis2
. 所有内部数据都是原始数据的视图。
- to_datetime(timezone=None, leap_second_strict='raise')[源代码]#
转换为(可能识别时区)
datetime
对象。如果
timezone
不是None
,返回时区感知日期时间对象。自.以来
datetime
类本身并不处理闰秒,因此,在一个leap秒内转换时间时的行为由leap_second_strict
争论。例如::>>> from astropy.time import Time >>> t = Time("2015-06-30 23:59:60.500") >>> print(t.to_datetime(leap_second_strict='silent')) 2015-07-01 00:00:00.500000
- to_string()#
输出Time或TimeDelta对象的字符串表示形式。
类似于
str(self.value)
(它使用NumPy数组格式),但数组值仅针对实际输出的项进行求值。对于大型阵列,这可以显著提高性能。- 返回:
- out :
str
Python :字符串 时间值的字符串表示形式。
- out :
- to_value(format, subfmt='*')#
获取以指定输出格式表示的时间值。
此方法允许表示
Time
所需输出中的对象format
和可选子格式subfmt
. 可用的内置格式包括jd
,mjd
,iso
等等。每种格式都可以有自己的子格式对于内置的数字格式,例如
jd
或unix
,subfmt
可以是“float”、“long”、“decimal”、“str”或“bytes”之一。在这里,“长期”使用numpy.longdouble
精度有所提高(增强取决于平台)和“十进制”decimal.Decimal
完全精确。对于'str'和'bytes',也会选择位数,以便准确表示时间值。对于内置的类似日期的字符串格式,“date”或“date”或“date”(或“longdate”等)之一,在
TimeFITS
). 对于包括秒的子格式,小数秒使用的位数由precision
.
- transpose(*args, **kwargs)#
返回一个实例,并将数据转置。
参数与
transpose()
. 所有内部数据都是原始数据的视图。