std::chrono::time_zone:: to_local
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
time_zone::to_local
|
||||
| Nonmember functions | ||||
|
template
<
class
Duration
>
auto
to_local
(
const
std::
chrono
::
sys_time
<
Duration
>
&
tp
)
const
|
(C++20 起) | |
将
sys_time
tp
转换为该
时区
中对应的
local_time
。
目录 |
参数
| tp | - | 待转换的时间点 |
返回值
与 tp 及此时区关联的 local_time 。
注释
结果的精度至少为 std::chrono::seconds ,若参数具有更精细的精度,则结果精度将更高。
示例
#include <chrono> #include <iostream> int main() { const auto some_zone_name{"Australia/Sydney"}; const auto time_pt_utc{std::chrono::system_clock::now()}; std::cout << "Current time UTC is:\t\t " << time_pt_utc << '\n'; try { std::cout << "Current time local is:\t\t " << std::chrono::current_zone()-> // may throw to_local(time_pt_utc) << '\n' << "Current time " << some_zone_name << " is:\t " << std::chrono::locate_zone(some_zone_name)-> // may throw to_local(time_pt_utc) << '\n'; } catch(const std::runtime_error& ex) { std::cout << ex.what() << '\n'; } }
可能的输出:
Current time UTC is: 2025-02-10 13:38:13.233872158 Current time local is: 2025-02-10 16:38:13.233872158 Current time Australia/Sydney is: 2025-02-11 00:38:13.233872158