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 name obiekt . 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
name
Pobiera alternatywną nazwę strefy czasowej.
string_view name() const noexcept;
target
Pobiera nazwę time_zone
elementu , dla którego time_zone_link
jest to alternatywna nazwa.
string_view target() const noexcept; // Since C++20
Przykład: pokaż time_zone_link
nazwę
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