zoned_time();
(1) (since C++20) (2) (since C++20)zoned_time( const zoned_time& other ) = default;
(3) (since C++20) (4) (since C++20)explicit zoned_time( TimeZonePtr z );
(5) (since C++20) (6) (since C++20) (7) (since C++20) (8) (since C++20) (9) (since C++20) (10) (since C++20) (11) (since C++20) (12) (since C++20) template< class Duration2, class TimeZonePtr2 >zoned_time( TimeZonePtr z,
Constructs a zoned_time
object, initializing the stored time zone pointer and time point according to the following table, where traits
is std::chrono::zoned_traits<TimeZonePtr>:
zone
) Time point (a std::chrono::sys_time<duration>) Notes (1) traits::default_zone() default constructed (a) (2) st
(3) other.get_time_zone() other.get_sys_time() (b) (4) other.get_time_zone() other.get_sys_time() (e) (5) std::move(z) default constructed (6) traits::locate_zone(name) (c) (7) std::move(z) st
(8) traits::locate_zone(name) (c) (9) std::move(z) zone->to_sys(tp) (d) (10) traits::locate_zone(name) (c,d) (11) std::move(z) zone->to_sys(tp, c) (d) (12) traits::locate_zone(name) (c,d) (13,14) std::move(z) zt.get_sys_time() (e) (15,16) traits::locate_zone(name) (c,e)
a) Constructors specified to call traits::default_zone() (1,2) do not participate in overload resolution if that expression is not well-formed.
c)Constructors with a
std::string_viewparameter
name
(6,8,10,12,15,16)
do not participate in overload resolution if
traits::locate_zone(name)is not well-formed or if that expression is not convertible to
TimeZonePtr
.
d)Constructors specified to call
zone->to_sys (9-12)do not participate in overload resolution if that call expression is not well-formed or if the result is not convertible to
std::chrono::sys_time<duration>.
e) Constructors with a template parameter Duration2
(4,13-16) do not participate in overload resolution if Duration2
is not convertible to Duration
.
The behavior is undefined if the time zone pointer (initialized as described above) does not refer to a time zone.
[edit] Noteszoned_time
does not have a move constructor and attempting to move one will perform a copy instead using the defaulted copy constructor (3). Thus, when TimeZonePtr
is a move-only type, zoned_time
is immovable: it can be neither moved nor copied.
The constructors (14,16) accept a std::chrono::choose parameter, but that parameter has no effect.
[edit] ExamplePossible output:
1970-01-01 00:00:00 UTC : default 1969-12-31 17:00:00 MST : America/Phoenix 1970-01-01 00:00:00 UTC : UTC time zone 2021-12-31 00:00:00 CET : Europe/Rome 2021-12-31 01:00:00 CET : Europe/Rome 2021-09-20 23:04:00 CEST : Europe/Rome 2021-09-21 06:04:00 JST : Asia/Tokyo 2021-09-20 17:04:00 EDT : America/New_York
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4