[#absl-TimeZone-TimeInfo]
= xref:absl.adoc[absl]::xref:absl/TimeZone.adoc[TimeZone]::TimeInfo
:relfileprefix: ../../
:mrdocs:

Information about the absolute times corresponding to a civil time&period; (Subseconds must be handled separately&period;)

== Synopsis

Declared in `&lt;absl&sol;time&sol;time&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct TimeInfo;
----

== Description

It is possible for a caller to pass a civil&hyphen;time value that does not represent an actual or unique instant in time (due to a shift in UTC offset in the TimeZone, which results in a discontinuity in the civil&hyphen;time components)&period; For example, a daylight&hyphen;saving&hyphen;time transition skips or repeats civil times&hyphen;&hyphen;&hyphen;in the United States, March 13, 2011 02&colon;15 never occurred, while November 6, 2011 01&colon;15 occurred twice&hyphen;&hyphen;&hyphen;so requests for such times are not well&hyphen;defined&period; To account for these possibilities, `absl&colon;&colon;TimeZone&colon;&colon;TimeInfo` is richer than just a single `absl&colon;&colon;Time`&period;

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:absl/TimeZone/TimeInfo/CivilKind.adoc[`CivilKind`] 
| Describes how a civil time maps onto the absolute time line&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:absl/TimeZone/TimeInfo/kind.adoc[`kind`] 
| how the civil time maps onto the absolute time line
| xref:absl/TimeZone/TimeInfo/post.adoc[`post`] 
| time calculated using the post&hyphen;transition offset
| xref:absl/TimeZone/TimeInfo/pre.adoc[`pre`] 
| time calculated using the pre&hyphen;transition offset
| xref:absl/TimeZone/TimeInfo/trans.adoc[`trans`] 
| when the civil&hyphen;time discontinuity occurred
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
