std::chrono::zoned_time
| Defined in header  <chrono> | ||
| template <     class Duration, | (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 TimeZonePtrs 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_timeobjects(function template) | |
| outputs a zoned_timeinto a stream(function template) | |
| outputs a zoned_timeinto a stream according to the provided format(function template) |