time_zone_link

指定 time_zone 的替代名称。

语法

class time_zone_link;  // Since C++20

备注

当初始化时区数据库时,将创建 time_zone_link 实例。 无法直接创建它们。 通过 get_tzdb().links 获取实例,如本主题末尾处的示例所示。

尽管此类型具有默认的移动构造函数和移动赋值运算符,但它不可复制,因为仅提供对此类型的 const 访问权限。 使用这些函数会导致未定义的行为,这就是此处未列出移动构造函数和赋值运算符的原因。

与 IANA 数据库的差异

在 Microsoft 的实现中,时区数据在某些情况下可能与 Internet 编号分配机构 (IANA) 时区数据库有所不同。 例如,返回 "America/Nuuk",而不是 "America/Godthab""America/Nuuk" 是在 2020 年 4 月重命名的 "America/Godthab")。 目前我们不提供 "Eastern War Time EWT" 时区。 有关详细信息,请参阅 Microsoft STL GitHub 存储库中的问题 #1786

成员

公共成员函数和函数模板

名称 描述
name 获取时区的替代名称。
target time_zone_link 是其替代名称的 time_zone 的名称。

非成员

“属性” 描述
operator== 确定两个 time_zone_link 对象是否具有相同的 nametarget 名称不是相等性检查的一部分。
operator<=> 将此 time_zone_link 与另一个 time_zone_link 进行比较。 >, >=, <=, <, != 运算符由编译器合成。 返回 Left.name() <=> Right.name()

要求

标头<chrono>

时区数据仅适用于 Windows 10 版本 1903/19H1 及更高版本,以及 Windows Server 2022 及更高版本。

命名空间:std::chrono

编译器选项:/std:c++latest

获取时区的替代名称。

string_view name() const noexcept;

获取此 time_zone_link 是其替代名称的 time_zone 的名称。

string_view target() const noexcept;  // Since C++20

以下示例显示 IANA 时区数据库中每个 time_zone_link 的名称。

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    const auto& my_tzdb = get_tzdb(); // get the IANA time zone database
    auto& links = my_tzdb.links; // get the list of time_zone_links from the database
    std::for_each(links.begin(), links.end(), // display each time_zone_link name and target
        [](auto& l)
        {
            std::cout << "Name: " << l.name() << "Target" << l.target() << '\n';
        });

    return 0;
}
Name: ACT Target:Australia/Darwin
Name: AET Target:Australia/Sydney
Name: AGT Target:America/Buenos_Aires
Name: ART Target:Africa/Cairo
Name: AST Target:America/Anchorage
Name: Africa/Asmara Target:Africa/Asmera
Name: Africa/Timbuktu Target:Africa/Bamako
Name: America/Argentina/Buenos_Aires Target:America/Buenos_Aires
Name: America/Argentina/Catamarca Target:America/Catamarca
...
Name: Zulu Target:Etc/UTC

另请参阅

<chrono>
time_zone
头文件引用