TimeDecimalYear#

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

基类:TimeNumeric

时间为十进制年份,整数值对应于每年第一天的午夜。

分数部分代表一年中的确切分数,考虑到一年中的确切天数(365或366)。下面的例子本质上展示了如何计算小数年::

>>> from astropy.time import Time
>>> tm = Time("2024-04-05T12:34:00")
>>> tm0 = Time("2024-01-01T00:00:00")
>>> tm1 = Time("2025-01-01T00:00:00")
>>> print(2024 + (tm.jd - tm0.jd) / (tm1.jd - tm0.jd))
2024.2609934729812
>>> print(tm.decimalyear)
2024.2609934729812

由于对于这种格式,一年的长度在365日到366日之间变化,因此不可能使用数量输入,在这种情况下,一年总是365.25天。

该格式适合低精度应用程序或绘制数据。

属性摘要

in_subfmt 

jd1 

jd2 

name 

out_subfmt 

precision 

scale 

时间尺度。

subfmts 

value 

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

方法总结

fill_value \(Subfmt)

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

set_jds(val1, val2)

从val1和val2设置内部jd1和jd2。

to_value(**kwargs)

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

属性文档

in_subfmt#
jd1#
jd2#
name = 'decimalyear'#
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>))#
value#

方法文件

classmethod fill_value(subfmt)#

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

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

set_jds(val1, val2)[源代码]#

从val1和val2设置内部jd1和jd2。必须由派生类提供。

to_value(**kwargs)[源代码]#

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