Share via


time_zone_link クラス

time_zone の代替名を指定します。

構文

class time_zone_link;  // Since C++20

解説

time_zone_link インスタンスは、タイム ゾーン データベースが初期化されるときに作成されます。 直接作成することはできません。 このトピックの最後の例に示すように、get_tzdb().links を使用してインスタンスを取得します。

この型には、既定の移動コンストラクターと移動代入演算子がありますが、この型には const アクセスのみが指定されているため、この型はコピーできません。 これらの関数を使用すると、定義されていない動作が発生します。このため、移動コンストラクターと代入演算子がここにリストされていません。

IANA データベースとの違い

Microsoft の実装では、タイム ゾーン データが、IANA (Internet Assigned Numbers Authority) のタイム ゾーン データベースからのものと異なる場合があります。 たとえば、"America/Godthab" の代わりに "America/Nuuk" が返されます ("America/Nuuk" は 2020 年 4 月に名前が "America/Godthab" に変更されました)。 現時点では、"Eastern War Time EWT" タイム ゾーンは提供されていません。 詳細については、Microsoft STL GitHub リポジトリの問題 #1786 を参照してください

メンバー

パブリック メンバー関数と関数テンプレート

名前 説明
name タイム ゾーンの代替名を取得します。
target この time_zone_link が代替名となっている time_zone の名前。

非メンバー

名前 説明
operator== 2 つの time_zone_link オブジェクトの name が同一かどうかを判断します。 この target 名は、等値性チェックの一部ではありません。
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
ヘッダー ファイル リファレンス