命名空间
变体
操作

std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb

来自 cppreference.com
< cpp‎ | chrono
 
 
实用程序库
语言支持
类型支持 (基本类型,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)

 
日期和时间实用程序
时间点
(C++11)
(C++20)
持续时间
(C++11)
时钟
(C++20)
(C++20)
(C++20)
(C++20)
一天中的时间
(C++20)(C++20)
(C++20)(C++20)
(C++20)

日历
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
时区
(C++20)
(C++20)
get_tzdbget_tzdb_listreload_tzdbremote_version
(C++20)(C++20)(C++20)(C++20)  
(C++20)
chrono I/O
(C++20)
C 样式日期和时间
 
std::chrono::tzdb_list& get_tzdb_list();
(1) (自 C++20 起)
const std::chrono::tzdb& get_tzdb();
(2) (自 C++20 起)
std::string remote_version();
(3) (自 C++20 起)
const std::chrono::tzdb& reload_tzdb();
(4) (自 C++20 起)

这些函数提供对程序范围的时区数据库的访问。

1) 返回对全局 std::chrono::tzdb_list 单例的引用。如果这是第一次访问数据库,则初始化数据库。初始化后,数据库将保存一个已初始化的 std::chrono::tzdb 对象。此函数是线程安全的:从多个线程对该函数的并发调用不会引入数据竞争。
2) 返回 tzdb_list 单例持有的第一个 std::chrono::tzdb 对象的引用。等效于 std::chrono::get_tzdb_list().front().
3) 返回包含最新远程数据库版本的字符串。
4) 如果 remote_version() != get_tzdb().version,则将表示远程数据库的新 tzdb 对象推送到 get_tzdb_list() 引用的 tzdb_list 单例的前面。否则没有影响。任何引用、指针或迭代器都不会失效。与 get_tzdb_list().front()get_tzdb_list().erase_after() 并发调用不会引入数据竞争。

[编辑] 异常

1) std::runtime_error 如果由于任何原因无法返回对包含一个或多个有效 tzdbtzdb_list 的引用。

[编辑] 返回值

1) 对全局 std::chrono::tzdb_list 单例的引用。
2) std::chrono::get_tzdb_list().front().
3) 包含最新远程数据库版本的字符串。
4) std::chrono::get_tzdb_list().front() (在由该函数进行任何更新后)。