命名空间
变体
操作

std::chrono::time_zone::to_sys

来自 cppreference.com
< cpp‎ | chrono‎ | time zone
 
 
实用程序库
语言支持
类型支持 (基本类型,RTTI)
库功能测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三元比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (在 C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
 
 
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

[编辑] 示例