View source on GitHub |
Parse an input string according to the provided format string into a Unix time.
tfa.text.parse_time(
time_string: str, time_format: str, output_unit: str
) -> tf.Tensor
Parse an input string according to the provided format string into a Unix time, the number of seconds / milliseconds / microseconds / nanoseconds elapsed since January 1, 1970 UTC.
Uses strftime()-like formatting options, with the same extensions as FormatTime(), but with the exceptions that %E#S is interpreted as %ES, and %E#f as %Ef. %Ez and %E*z also accept the same inputs.
%Y consumes as many numeric characters as it can, so the matching data should always be terminated with a non-numeric. %E4Y always consumes exactly four characters, including any sign.
Unspecified fields are taken from the default date and time of ...
"1970-01-01 00:00:00.0 +0000"
For example, parsing a string of "15:45" (%H:%M) will return an Unix time that represents "1970-01-01 15:45:00.0 +0000".
Note that ParseTime only heeds the fields year, month, day, hour, minute, (fractional) second, and UTC offset. Other fields, like weekday (%a or %A), while parsed for syntactic validity, are ignored in the conversion.
Date and time fields that are out-of-range will be treated as
errors rather than normalizing them like absl::CivilSecond
does.
For example, it is an error to parse the date "Oct 32, 2013"
because 32 is out of range.
A leap second of ":60" is normalized to ":00" of the following minute with fractional seconds discarded. The following table shows how the given seconds and subseconds will be parsed:
"59.x" -> 59.x // exact "60.x" -> 00.0 // normalized "00.x" -> 00.x // exact
Args | |
---|---|
time_string
|
The input time string to be parsed. |
time_format
|
The time format. |
output_unit
|
The output unit of the parsed unix time. Can only be SECOND, MILLISECOND, MICROSECOND, NANOSECOND. |
Returns | |
---|---|
the number of seconds / milliseconds / microseconds / nanoseconds elapsed since January 1, 1970 UTC. |
Raises | |
---|---|
ValueError
|
If output_unit is not a valid value,
if parsing time_string according to time_format failed.
|