std::chrono::zoned_time
来自cppreference.com
定义于头文件 <chrono>
|
||
template < class Duration, |
(C++20 起) | |
using zoned_seconds = std::chrono::zoned_time<std::chrono::seconds>; |
(C++20 起) | |
类 zoned_time
表示时区与解析为 Duration
的 std::chrono::time_point 的逻辑配对。
zoned_time
的不变量是它始终指代合法的时区并表示该时区中存在且无歧义的时间点。为与此不变量一致, zoned_time
无移动构造函数或移动赋值运算符;试图移动 zoned_time
将进行复制。
若 Duration
不是 std::chrono::duration 的特化则程序为谬构。
模板形参 TimeZonePtr
允许用户提供其自身的时区指针类型并进一步经由 std::chrono::zoned_traits 定制 zoned_time
的行为。定制的时区类型不需要支持 std::chrono::time_zone 所支持的所有操作,只需支持实际在 zoned_time
上调用的函数所用的操作。
TimeZonePtr
必须为可移动构造 (MoveConstructible) 。允许仅移动的 TimeZonePtr
,但难以使用,因为 zoned_time
将为不可移动且不可能访问存储的 TimeZonePtr
。
成员类型
成员类型 | 定义 |
duration
|
std::common_type_t<Duration, std::chrono::seconds> |
成员函数
构造 zoned_time (公开成员函数) | |
赋值给 zoned_time (公开成员函数) | |
获得时区指针的副本 (公开成员函数) | |
获得作为 local_time 的存储的时间点 (公开成员函数) | |
获得作为 sys_time 的存储的时间点 (公开成员函数) | |
获得关于在存储的时间点的时区的信息 (公开成员函数) |
非成员函数
(C++20) |
比较二个 zoned_time 值 (函数模板) |
(C++20) |
输出 zoned_time 到流中 (函数模板) |
辅助类
std::formatter 的特化,按照提供的格式格式化 zoned_time (类模板特化) |