Namespaces
Variants

std::chrono:: locate_zone

From cppreference.net
定义于头文件 <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 的公开成员函数)
访问并控制全局时区数据库信息
(函数)