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

Converts the `tm&lowbar;year`, `tm&lowbar;mon`, `tm&lowbar;mday`, `tm&lowbar;hour`, `tm&lowbar;min`, and `tm&lowbar;sec` fields to an `absl&colon;&colon;Time` using the given time zone&period; See ctime(3) for a description of the expected values of the tm fields&period; If the civil time is unique (see `absl&colon;&colon;TimeZone&colon;&colon;At(absl&colon;&colon;CivilSecond)` above), the matching time instant is returned&period; Otherwise, the `tm&lowbar;isdst` field is consulted to choose between the possible results&period; For a repeated civil time, &grave;tm&lowbar;isdst !&equals; 0` returns the matching DST instant, while `tm&lowbar;isdst &equals;&equals; 0&grave; returns the matching non&hyphen;DST instant&period; For a skipped civil time there is no matching instant, so `tm&lowbar;isdst !&equals; 0` returns the DST instant, and `tm&lowbar;isdst &equals;&equals; 0` returns the non&hyphen;DST instant, that would have matched if the transition never happened&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:absl/Time.adoc[Time]
FromTM(
    tm const& tm,
    xref:absl/TimeZone.adoc[TimeZone] tz);
----

== Return Value

The absolute time corresponding to `tm` in `tz`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *tm*
| The broken&hyphen;down time to convert&period;
| *tz*
| The time zone to convert in&period;
|===


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