std::chrono::zoned_time
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
constructs a zoned_time (public member function) |
|
assigns value to a zoned_time (public member function) |
|
obtains a copy of the time zone pointer (public member function) |
|
obtains the stored time point as a local_time (public member function) |
|
obtains the stored time point as a sys_time (public member function) |
|
obtain information about the time zone at the stored time point (public member function) |
Nonmember functions
compares two zoned_time objects (function template) |
|
outputs a zoned_time into a stream (function template) |
|
outputs a zoned_time into a stream according to the provided format (function template) |
Deduction guides
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/chrono/zoned_time