Класс time_zone_link
Задает альтернативное имя для time_zone
объекта.
Синтаксис
class time_zone_link; // Since C++20
Замечания
time_zone_link
экземпляры создаются при инициализации базы данных часового пояса. Они не могут быть созданы напрямую. Получите экземпляр, get_tzdb().links
как показано в примере в конце этого раздела.
Хотя этот тип имеет конструктор перемещения по умолчанию и оператор назначения перемещения, он не копируется, так как предоставляется только const
доступ к этому типу. Использование этих функций приводит к неопределенному поведению, поэтому конструктор перемещения и оператор назначения не перечислены здесь.
Различия с базой данных IANA
В реализации Корпорации Майкрософт данные часового пояса могут отличаться в некоторых случаях от базы данных часового пояса центра назначения Интернета (IANA). Например, "America/Nuuk"
возвращается вместо "America/Godthab"
("America/Nuuk"
было переименовано "America/Godthab"
в апреле 2020 г.). В настоящее время часовой "Eastern War Time EWT"
пояс не предоставляется. Дополнительные сведения см. в статье "Проблема 1786 " в репозитории Microsoft STL GitHub.
Участники
Общедоступные функции-члены и шаблоны функций
Имя | Описание |
---|---|
name |
Возвращает альтернативное имя часового пояса. |
target |
Имя time_zone того, что это time_zone_link альтернативное имя. |
Не являющиеся членами
Имя | Описание |
---|---|
operator== |
Определите, имеют ли два time_zone_link объекта одно и то же name . Имя target не является частью проверки равенства. |
operator<=> |
Сравните это time_zone_link с другим time_zone_link . Операторы >, >=, <=, <, != синтезируются компилятором. Возвращает Left.name() <=> Right.name() . |
Требования
Заголовок: <chrono>
Данные часового пояса доступны только для Windows 10 версии 1903/19H1 и более поздних версий, а также Windows Server 2022 и более поздних версий.
Пространство имен: std::chrono
Параметр компилятора: /std:c++latest
name
Возвращает альтернативное имя часового пояса.
string_view name() const noexcept;
target
Получает имя этого time_zone_link
альтернативного time_zone
имени.
string_view target() const noexcept; // Since C++20
Пример: показать time_zone_link
имя
В следующем примере отображаются имена каждого из них time_zone_link
в базе данных часового пояса 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