TimeDeltaQuantityString#
- class astropy.time.TimeDeltaQuantityString(val1, val2, scale, precision, in_subfmt, out_subfmt, from_jd=False)[源代码]#
基类:
TimeDeltaFormat
,TimeUnique
具有一个或多个数量分量的字符串形式的时间增量。
该格式提供了时间增量的人类可读的多尺度字符串表示。它对于配置文件或命令行选项等应用程序非常方便。
格式指定如下:
字符串是一个或多个组件的序列。
每个分量都是一个数字,后跟一个占星状的时间单位。
对于输入,字符串中的空格是允许的,但可选。
对于输出,组件之间只有一个空格。
下面列出了允许的组件。
顺序(yr、d、hr、min、S)是固定的,但单个组件是可选的。
允许的输入组件单位如下所示:
“YR”:年份(365.25天)
“d”:天数(24小时)
“hr”:小时(60分钟)
“min”:分钟(60秒)
《S》:秒
备注
这些定义对应于物理时间单位,而不是日历日期间隔。因此,在“2000-01-01 00:00:00”中加上“1年”将得到“2000-12-31 06:00:00”,而不是“2001-01-01 00:00:00”。
这个
out_subfmt
属性指定要包括在字符串输出中的组件。缺省值为"multi"
它将时间增量表示为"<days>d <hours>hr <minutes>min <seconds>s"
,其中仅包括非零组件。“多”:多分量,如“2d 3hr 15min 5.6s”
“YR”:年份
“d”:天数
“hr”:小时
“min”:分钟
《S》:秒
实例
>>> from astropy.time import Time, TimeDelta >>> import astropy.units as u
>>> print(TimeDelta("1yr")) 365d 6hr
>>> print(Time("2000-01-01") + TimeDelta("1yr")) 2000-12-31 06:00:00.000 >>> print(TimeDelta("+3.6d")) 3d 14hr 24min >>> print(TimeDelta("-3.6d")) -3d 14hr 24min >>> print(TimeDelta("1yr 3.6d", out_subfmt="d")) 368.85d
>>> td = TimeDelta(40 * u.hr) >>> print(td.to_value(format="quantity_str")) 1d 16hr >>> print(td.to_value(format="quantity_str", subfmt="d")) 1.667d >>> td.precision = 9 >>> print(td.to_value(format="quantity_str", subfmt="d")) 1.666666667d
属性摘要
方法总结
fill_value
\(Subfmt)以此格式返回与J2000(2000-01-01 12:00:00)对应的值。
fix_comp_vals_overflow
(comp_vals)get_multi_comps
(jd1, jd2)parse_string
\(时间字符串)从单个字符串读取时间
set_jds
(val1, val2)解析val1中包含的时间字符串,得到jd1、jd2。
to_value
([parent, out_subfmt])从指定的内部jd1和jd2返回时间表示
out_subfmt
.属性文档
- in_subfmt#
- jd1#
- jd2#
- name = 'quantity_str'#
- out_subfmt#
- precision#
- re_float = '(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?'#
- re_ydhms = re.compile('^ \\s*\n (?P<sign>[-+])? \\s* # Optional sign\n (?=[^-+\\s]) # At least one character which is not a sign or whitespace\n ((?P<yr>(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?) \\s*, re.VERBOSE)#
- scale#
时间尺度。
- subfmts = (('multi', None, None), ('yr', None, None), ('d', None, None), ('hr', None, None), ('min', None, None), ('s', None, None))#
- value#
方法文件
- classmethod fill_value(subfmt)#
以此格式返回与J2000(2000-01-01 12:00:00)对应的值。
它用作掩码数组的填充值,以确保掩码数组上的任何ERFA操作不会因掩码值而失败。
- to_value(parent=None, out_subfmt=None)[源代码]#
从指定的内部jd1和jd2返回时间表示
out_subfmt
.这是忽略的基本方法
parent
并使用value
属性来计算输出。通过此设置临时完成self.out_subfmt
呼唤self.value
. 在astropy 4.0之前实现新的astropy值应该是旧代码所必需的to_value()
然后把value
属性是对self.to_value()
.- 参数:
- 返回:
- value :
numpy.array
,numpy.ma.array
数字阵列, numpy.ma.数组 格式化时间表示值的数组或掩码数组
- value :