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。
[編輯] 示例
本節不完整 原因:無示例 |