std::chrono::locate_zone

来自cppreference.com
< cpp‎ | chrono
 
 
 
在标头 <chrono> 定义
const std::chrono::time_zone* locate_zone( std::string_view tz_name );
(C++20 起)

时区数据库中定位时区的便利函数。等价于 std::chrono::get_tzdb().locate_zone(tz_name)

参数

tz_name-要定位的时区名称

异常

若找不到指定的时区,或若这次调用是对时区数据库的首次引用且无法初始化时区数据库,则抛出 std::runtime_error

注解

若对此函数的调用是对时区数据库的首次引用,则它将导致初始化时区数据库。

示例

#include <chrono>
#include <iostream>
 
int main()
{
    try
    {
        for (const auto zone : {"Atlantic/Bermuda", "Alcatraz"})
            std::cout << std::chrono::locate_zone(zone)->name() << '\n';
    }
    catch(const std::runtime_error& ex)
    {
        std::cout << ex.what() << '\n';
    }
}

可能的输出:

Atlantic/Bermuda
std::chrono::tzdb: cannot locate zone: Alcatraz

参阅

以给定的名称定位时区
(std::chrono::tzdb 的公开成员函数)
访问和控制全球时区数据库信息
(函数)