Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Estructura
Representa una copia de la base de datos de zona horaria.
Sintaxis
struct tzdb; // C++20
Comentarios
Representa una copia de la base de datos de zona horaria de IANA (Autoridad de números asignados por Internet). La base de datos contiene información sobre cada zona horaria y el historial de ajustes de hora local. Para obtener más información sobre la base de datos, vea Base de datos de zona horaria.
Miembros
| Miembro | Descripción |
|---|---|
leap_seconds |
Un objeto vector<leap_second> ordenado. leap_second proporciona un historial de cuándo se sumaron segundos intercalares anteriormente. |
links |
Un objeto vector<time_zone_link> ordenado. time_zone_link proporciona el nombre alternativo para una zona horaria determinada. |
version |
Un objeto std::string que contiene la versión de la base de datos. |
zones |
Un objeto vector<time_zone> ordenado. time_zone tiene el historial completo de reglas de zona horaria de un área determinada. |
Para obtener un ejemplo de cómo usar estos miembros, vea Ejemplo: leap_seconds, links, zones cerca del final de este tema.
Funciones miembro
| Nombre | Descripción |
|---|---|
current_zone |
Obtiene la zona horaria local. |
locate_zone |
Obtiene la zona horaria especificada. |
current_zone
Obtiene la zona horaria local del equipo.
time_zone* current_zone() const; // C++20
Valor devuelto
Puntero a time_zone que representa la zona horaria local del equipo.
Ejemplo: current_zone
En este ejemplo se muestra cómo obtener la zona horaria actual.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto& db = get_tzdb();
std::cout << "Current zone: " << db.current_zone()->name();
return 0;
}
Current zone: America/Los_Angeles
locate_zone
Obtiene la zona horaria especificada.
const time_zone* locate_zone(string_view name) const;
Ejemplo: locate_zone
En este ejemplo se muestra cómo obtener una zona horaria por nombre.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto& db = get_tzdb();
std::cout << "Locate zone : " << db.locate_zone("America/New_York")->name() << "\n";
return 0;
}
Locate zone : America/New_York
Ejemplo: leap_seconds, links, zones
En este ejemplo se muestra el uso de varios miembros de datos tzdb.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
std::cout << "Leap seconds:\n";
std::for_each(db.leap_seconds.begin(), db.leap_seconds.end(),
[](const leap_second& ls)
{
std::cout << ls.date() << "\n";
});
std::cout << "Links:\n";
std::for_each(db.links.begin(), db.links.end(),
[](const time_zone_link& l)
{
std::cout << "Name: " << l.name() << "\t\tTarget:" << l.target() << '\n';
});
std::cout << "\nTime Zone descriptions:\n";
std::for_each(db.zones.begin(), db.zones.end(),
[](const time_zone& z)
{
std::cout << "Zone: " << z.name() << "\n";
});
return 0;
}
Leap seconds:
1972-07-01 00:00:00
1973-01-01 00:00:00
1974-01-01 00:00:00
...
Links:
Name: ACT Target:Australia/Darwin
Name: AET Target:Australia/Sydney
Name: AGT Target:America/Buenos_Aires
Name: ART Target:Africa/Cairo
...
Time Zone descriptions:
Zone: Africa/Abidjan
Zone: Africa/Accra
Zone: Africa/Addis_Ababa
...
Requisitos
Encabezado: <chrono>
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
Consulte también
<chrono>
tzdb_list
time_zone_link
Referencia de archivos de encabezado