# std::chrono::zoned_time

From cppreference.com
< cpp‎ | chrono

Defined in header `<chrono>` |  |
template < class Duration, class TimeZonePtr = const std::chrono::time_zone * > class zoned_time; |  | (since C++20)

The class `zoned_time` represents a logical pairing of a time zone and a std::chrono::time_point whose resolution is `Duration`.

An invariant of `zoned_time` is that it always refers to a valid time zone and represents an existing and unambiguous time point in that time zone. Consistent with this invariant, `zoned_time` has no move constructor or move assignment operator; attempts to move a `zoned_time` will perform a copy.

The program is ill-formed if `Duration` is not a specialization of std::chrono::duration.

The template parameter `TimeZonePtr` allows users to supply their own time zone pointer types and further customize the behavior of `zoned_time` via std::chrono::zoned_traits. Custom time zone types need not support all the operations supported by std::chrono::time_zone, only those used by the functions actually called on the `zoned_time`.

`TimeZonePtr` must be MoveConstructible. Move-only `TimeZonePtr`s are allowed but difficult to use, as the `zoned_time` will be immovable and it is not possible to access the stored `TimeZonePtr`.

### Member types

Member type | Definition
`duration` | std::common_type_t <Duration, std::chrono::seconds >

### Member functions

(constructor) | constructs a `zoned_time` (public member function)
operator= | assigns value to a `zoned_time` (public member function)
get_time_zone | obtains a copy of the time zone pointer (public member function)
operator local_timeget_local_time | obtains the stored time point as a `local_time` (public member function)
operator sys_timeget_sys_time | obtains the stored time point as a `sys_time` (public member function)
get_info | obtain information about the time zone at the stored time point (public member function)

### Nonmember functions

operator==operator!= | compares two `zoned_time` objects (function template)
operator<< | outputs a `zoned_time` into a stream (function template)
to_stream | outputs a `zoned_time` into a stream according to the provided format (function template)

### Deduction guides

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/zoned_time&oldid=104867"