名稱空間
變體
操作

std::chrono::time_zone::to_sys

來自 cppreference.com
< cpp‎ | chrono‎ | time_zone
 
 
 
 
template< class Duration >

auto to_sys( const std::chrono::local_time<Duration>& tp ) const

    -> std::chrono::sys_time<std::common_type_t<Duration, std::chrono::seconds>>;
(1) (C++20 起)
template< class Duration >

auto to_sys( const std::chrono::local_time<Duration>& tp, std::chrono::choose z ) const

    -> std::chrono::sys_time<std::common_type_t<Duration, std::chrono::seconds>>;
(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::seconds,如果引數具有更高的精度,則結果的精度將更高。

由於時區轉換(例如夏令時),可能會出現不明確和不存在的本地時間。例如,"2016-03-13 02:30:00""America/New_York" 時區不存在,而 "2016-11-06 01:30:00" 在該時區可能對應兩個 UTC 時間點:2016-11-06 05:30:00 UTC2016-11-06 06:30:00 UTC

[編輯] 示例