Sdílet prostřednictvím


Třída time_zone_link

Určuje alternativní název objektu time_zone.

Syntaxe

class time_zone_link;  // Since C++20

Poznámky

time_zone_link Instance se vytvoří při inicializaci databáze časového pásma. Nelze je vytvořit přímo. Získejte instanci prostřednictvím get_tzdb().links, jak je znázorněno v příkladu na konci tohoto tématu.

I když tento typ má výchozí konstruktor přesunutí a operátor přiřazení přesunutí, není možné ho kopírovat, protože k tomuto typu je k dispozici pouze const přístup. Použití těchto funkcí má za následek nedefinované chování, což je důvod, proč tady není uvedený konstruktor přesunutí a operátor přiřazení.

Rozdíly v databázi IANA

V implementaci Microsoftu se data časového pásma můžou v některých případech lišit od databáze IANA (Internet Assigned Numbers Authority). Například "America/Nuuk" se vrátí místo "America/Godthab" ("America/Nuuk" byl přejmenován "America/Godthab" v dubnu 2020). V tuto chvíli nezadáváme "Eastern War Time EWT" časové pásmo. Další informace najdete v tématu Problém č. 1786 v úložišti Microsoft STL GitHub.

Členové

Veřejné členské funkce a šablony funkcí

Název Popis
name Získá alternativní název časového pásma.
target Název time_zone , pro který se jedná time_zone_link o alternativní název.

Nečlenové

Název Popis
operator== Určete, zda dva time_zone_link objekty mají stejné name. Název target není součástí kontroly rovnosti.
operator<=> Porovnejte to time_zone_link s jinou time_zone_link. Operátory >, >=, <=, <, != jsou syntetizovány kompilátorem. Vrací objekt Left.name() <=> Right.name().

Požadavky

Záhlaví: <chrono>

Data časového pásma jsou dostupná jenom pro Windows 10 verze 1903/19H1 a novější a Windows Server 2022 a novější.

Obor názvů: std::chrono

Možnost kompilátoru: /std:c++latest

Získá alternativní název časového pásma.

string_view name() const noexcept;

Získá název time_zone , pro který se jedná time_zone_link o alternativní název.

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

Následující příklad zobrazuje názvy jednotlivých time_zone_link v databázi IANA časového pásma.

// 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

Viz také

<chrono>
time_zone
Referenční informace k souborům hlaviček