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
name
Obtiene el nombre alternativo de la zona horaria.
string_view name() const noexcept;
target
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
Ejemplo: mostrar nombre de time_zone_link
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