# TimeString¶

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

Base class for string-like time representations.

This class assumes that anything following the last decimal point to the right is a fraction of a second.

Fast C-based parser

Time format classes can take advantage of a fast C-based parser if the times are represented as fixed-format strings with year, month, day-of-month, hour, minute, second, OR year, day-of-year, hour, minute, second. This can be a factor of 20 or more faster than the pure Python parser.

Fixed format means that the components always have the same number of characters. The Python parser will accept 2001-9-2 as a date, but the C parser would require 2001-09-02.

A subclass in this case must define a class attribute fast_parser_pars which is a dict with all of the keys below. An inherited attribute is not checked, only an attribute in the class __dict__.

• delims (tuple of int): ASCII code for character at corresponding starts position (0 => no character)

• starts (tuple of int): position where component starts (including delimiter if present). Use -1 for the month component for format that use day of year.

• stops (tuple of int): position where component ends. Use -1 to continue to end of string, or for the month component for formats that use day of year.

• break_allowed (tuple of int): if true (1) then the time string can

legally end just before the corresponding component (e.g. “2000-01-01” is a valid time but “2000-01-01 12” is not).

• has_day_of_year (int): 0 if dates have year, month, day; 1 if year, day-of-year

Attributes Summary

 cache Return the cache associated with this instance. in_subfmt jd1 jd2 jd2_filled lib_parse_time Class property for ctypes library for fast C parsing of string times. mask masked out_subfmt scale Time scale subfmts time_struct_dtype value

Methods Summary

 format_string(str_fmt, **kwargs) Write time to a string using a given format. get_jds_fast(val1, val2) Use fast C parser to parse time strings in val1 and get jd1, jd2 get_jds_python(val1, val2) Parse the time strings contained in val1 and get jd1, jd2 mask_if_needed(value) parse_string(timestr, subfmts) Read time from a single string, using a set of possible formats. set_jds(val1, val2) Parse the time strings contained in val1 and set jd1, jd2 Generator that yields a dict of values corresponding to the calendar date and time for the internal JD values. to_value([parent, out_subfmt]) Return time representation from internal jd1 and jd2 in specified out_subfmt.

Attributes Documentation

cache

Return the cache associated with this instance.

in_subfmt
jd1
jd2
jd2_filled
lib_parse_time

Class property for ctypes library for fast C parsing of string times.

mask
masked
out_subfmt
scale

Time scale

subfmts = ()
time_struct_dtype
value

Methods Documentation

format_string(str_fmt, **kwargs)[source]

Write time to a string using a given format.

By default, just interprets str_fmt as a format string, but subclasses can add to this.

get_jds_fast(val1, val2)[source]

Use fast C parser to parse time strings in val1 and get jd1, jd2

get_jds_python(val1, val2)[source]

Parse the time strings contained in val1 and get jd1, jd2

mask_if_needed(value)
parse_string(timestr, subfmts)[source]

Read time from a single string, using a set of possible formats.

set_jds(val1, val2)[source]

Parse the time strings contained in val1 and set jd1, jd2

str_kwargs()[source]

Generator that yields a dict of values corresponding to the calendar date and time for the internal JD values.

to_value(parent=None, out_subfmt=None)

Return time representation from internal jd1 and jd2 in specified out_subfmt.

This is the base method that ignores parent and uses the value property to compute the output. This is done by temporarily setting self.out_subfmt and calling self.value. This is required for legacy Format subclasses prior to astropy 4.0 New code should instead implement the value functionality in to_value() and then make the value property be a simple call to self.to_value().

Parameters
parentobj

Parent Time object associated with this TimeFormat object

out_subfmtstr or None

Output subformt (use existing self.out_subfmt if None)

Returns
valuenumpy.array, numpy.ma.array

Array or masked array of formatted time representation values