Compartilhar via


Classe time_zone_link

Especifica um nome alternativo para um time_zone.

Sintaxe

class time_zone_link;  // Since C++20

Comentários

Instâncias time_zone_link são criadas quando o banco de dados de fusos horários é inicializado. Elas não podem ser criadas diretamente. Obtenha uma instância por meio de get_tzdb().links, conforme mostrado no exemplo no final deste tópico.

Embora esse tipo tenha um construtor de movimentação padrão e um operador de atribuição de movimentação, ele não pode ser copiado porque somente o acesso const é fornecido a esse tipo. O uso dessas funções resulta em um comportamento indefinido, razão pela qual o construtor de movimentação e o operador de atribuição não estão listados aqui.

Diferenças com o banco de dados IANA

Na implementação da Microsoft, os dados de fuso horário podem ser diferentes, em alguns casos, do banco de dados de fusos horários da IANA (Autoridade para Atribuição de Números para a Internet). Por exemplo, "America/Nuuk" é retornado, em vez de "America/Godthab" ("America/Nuuk" foi renomeado "America/Godthab" em abril de 2020). Não fornecemos o fuso horário "Eastern War Time EWT" no momento. Para obter mais informações, confira Problema nº 1786 no repositório GitHub do Microsoft STL.

Membros

Funções membro públicas e modelos de função

Nome Descrição
name Obtém o nome alternativo do fuso horário.
target O nome de time_zone para o qual este time_zone_link é um nome alternativo.

Não membros

Nome Descrição
operator== Determina se dois objetos time_zone_link têm o mesmo name. O nome target não faz parte da verificação de igualdade.
operator<=> Compare este time_zone_link com outro time_zone_link. Os operadores >, >=, <=, <, != são sintetizados pelo compilador. Retorna Left.name() <=> Right.name().

Requisitos

Cabeçalho: <chrono>

Os dados de fuso horário só estão disponíveis para Windows 10 versão 1903/19H1 e posterior e no Windows Server 2022 e posterior.

Namespace: std::chrono

Opção do compilador: /std:c++latest

Obtém o nome alternativo do fuso horário.

string_view name() const noexcept;

Obtém o nome de time_zone para o qual este time_zone_link é um nome alternativo.

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

O exemplo a seguir exibe os nomes de cada time_zone_link no banco de dados de fusos horários da 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

Confira também

<chrono>
time_zone
Referência de arquivos de cabeçalho