Compartir vía


Clase time_zone_link

Especifica un nombre alternativo para un objeto time_zone.

Sintaxis

class time_zone_link;  // Since C++20

Comentarios

Las instancias time_zone_link se crean cuando se inicializa la base de datos de zona horaria. No se pueden crear directamente. Obtenga una instancia a través get_tzdb().links, como se muestra en el ejemplo al final de este tema.

Aunque este tipo tiene un constructor de movimiento predeterminado y un operador de asignación de movimiento, no se puede copiar porque solo se proporciona acceso const a este tipo. El uso de esas funciones da como resultado un comportamiento indefinido, por lo que el constructor de movimiento y el operador de asignación no se muestran aquí.

Diferencias con la base de datos IANA

En la implementación de Microsoft, los datos de zona horaria pueden diferir en algunos casos de la base de datos de zona horaria de la autoridad de números asignados a Internet (IANA). Por ejemplo, se devuelve "America/Nuuk" en lugar de "America/Godthab" ("America/Nuuk" se cambió por "America/Godthab" en abril de 2020). En este momento, no se proporciona la zona horaria "Eastern War Time EWT". Para más información, consulte Problema n.º 1786 en el repositorio de GitHub de STL de Microsoft.

Miembros

Funciones miembro públicas y plantillas de función

Nombre Descripción
name Obtiene el nombre alternativo de la zona horaria.
target Nombre de time_zone para el que este elemento time_zone_link es un nombre alternativo.

No miembros

Nombre Descripción
operator== Determina si dos objetos time_zone_link tienen el mismo valor name. El nombre target no forma parte de la comprobación de igualdad.
operator<=> Compara este elemento time_zone_link con otro elemento time_zone_link. El compilador sintetiza los operadores >, >=, <=, <, !=. Devuelve Left.name() <=> Right.name().

Requisitos

Encabezado: <chrono>

Los datos de zona horaria solo están disponibles para la versión 1903/19H1 y posteriores de Windows 10, además de Windows Server 2022 y versiones posteriores.

Espacio de nombres: std::chrono

Opción del compilador: /std:c++latest

Obtiene el nombre alternativo de la zona horaria.

string_view name() const noexcept;

Obtiene el nombre de time_zone para el que este elemento time_zone_link es un nombre alternativo.

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

En el ejemplo siguiente se muestran los nombres de cada elemento time_zone_link en la base de datos de zonas horarias de 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

Consulte también

<chrono>
time_zone
Referencia de archivos de encabezado