Udostępnij za pośrednictwem


Klasa time_zone_link

Określa alternatywną nazwę elementu time_zone.

Składnia

class time_zone_link;  // Since C++20

Uwagi

time_zone_link wystąpienia są tworzone podczas inicjowania bazy danych strefy czasowej. Nie można ich utworzyć bezpośrednio. Pobierz wystąpienie za pośrednictwem metody get_tzdb().links, jak pokazano w przykładzie na końcu tego tematu.

Mimo że ten typ ma domyślny konstruktor przenoszenia i operator przypisania przenoszenia, nie można go skopiować, ponieważ do tego typu jest udostępniany tylko const dostęp. Użycie tych funkcji powoduje niezdefiniowane zachowanie, dlatego konstruktor przenoszenia i operator przypisania nie są wymienione tutaj.

Różnice w bazie danych IANA

W implementacji firmy Microsoft dane strefy czasowej mogą się różnić w niektórych przypadkach od bazy danych strefy czasowej IANA (Internet Assigned Numbers Authority). Na przykład "America/Nuuk" zwracana jest wartość zamiast ("America/Nuuk" została zmieniona "America/Godthab" w kwietniu "America/Godthab" 2020 r.). Obecnie nie dostarczamy "Eastern War Time EWT" strefy czasowej. Aby uzyskać więcej informacji, zobacz Problem nr 1786 w repozytorium Microsoft STL GitHub.

Elementy członkowskie

Publiczne funkcje składowe i szablony funkcji

Nazwa/nazwisko opis
name Pobiera alternatywną nazwę strefy czasowej.
target Nazwa time_zone elementu time_zone_link , dla którego jest to alternatywna nazwa.

Inne niż elementy członkowskie

Nazwa/nazwisko opis
operator== Ustal, czy dwa time_zone_link obiekty mają ten sam nameobiekt . Nazwa target nie jest częścią sprawdzania równości.
operator<=> Porównaj to time_zone_link z innym elementem time_zone_link. Operatory >, >=, <=, <, != są syntetyzowane przez kompilator. Zwraca wartość Left.name() <=> Right.name().

Wymagania

Nagłówek: <chrono>

Dane strefy czasowej są dostępne tylko dla systemu Windows 10 w wersji 1903/19H1 i nowszych oraz systemu Windows Server 2022 i nowszych.

Przestrzeń nazw: std::chrono

Opcja kompilatora: /std:c++latest

Pobiera alternatywną nazwę strefy czasowej.

string_view name() const noexcept;

Pobiera nazwę time_zone elementu , dla którego time_zone_link jest to alternatywna nazwa.

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

Poniższy przykład przedstawia nazwy każdej time_zone_link z nich w bazie danych strefy czasowej IANA.

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

Zobacz też

<chrono>
time_zone
Odwołanie do plików nagłówka