std::chrono::time_zone::to_sys
来自 cppreference.com
template< class Duration > auto to_sys( const std::chrono::local_time<Duration>& tp ) const |
(1) | (自 C++20) |
template< class Duration > auto to_sys( const std::chrono::local_time<Duration>& tp, std::chrono::choose z ) const |
(2) | (自 C++20) |
将此时区中的 local_time tp 转换为相应的 sys_time。
1) 如果转换不明确或 tp 表示不存在的时间,则抛出异常。
2) 根据 z 的值解决歧义
- 如果 z == std::chrono::choose::earliest,则返回较早的
sys_time
。 - 如果 z == std::chrono::choose::latest,则返回较晚的
sys_time
。
如果 tp 表示两个 UTC
time_point
之间不存在的时间,这两个 time_point
将相同,并将返回该 time_point
。内容 |
[编辑] 返回值
根据此时区的规则,tp 的 UTC 等效项。
[编辑] 异常
1) 抛出
- std::chrono::ambiguous_local_time 如果转换不明确,
- std::chrono::nonexistent_local_time 如果 tp 表示不存在的时间。
[编辑] 说明
结果的精度至少为 std::chrono::seconds,如果参数的精度更高,则结果的精度也会更高。
不明确和不存在的本地时间可能是由于时区转换(例如夏令时)造成的。例如,"2016-03-13 02:30:00" 在 "America/New_York" 时区中不存在,而在该时区中 "2016-11-06 01:30:00" 可以对应两个 UTC 时间点:2016-11-06 05:30:00 UTC 和 2016-11-06 06:30:00 UTC。
[编辑] 示例
本节内容不完整 原因:没有示例 |