Пространства имён
Варианты
Действия

std::chrono::time_zone::to_sys

Материал из cppreference.com
< cpp‎ | chrono‎ | time zone
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
std::chrono::time_zone
Функции-элементы
time_zone::to_sys
Функции, не являющиеся элементами
 
template< class Duration >

auto to_sys( const std::chrono::local_time<Duration>& tp ) const

    -> std::chrono::sys_time<std::common_type_t<Duration, std::chrono::seconds>>;
(начиная с C++20)
template< class Duration >

auto to_sys( const std::chrono::local_time<Duration>& tp, std::chrono::choose z ) const

    -> std::chrono::sys_time<std::common_type_t<Duration, std::chrono::seconds>>;
(начиная с C++20)

Преобразует local_time tp в этом часовом поясе в соответствующий sys_time.

1) Генерирует исключение, если преобразование неоднозначно или если tp представляет несуществующее время.
2) Разрешает неоднозначность в соответствии со значением z:
  • Если z == std::chrono::choose::earliest, возвращает более раннее значение sys_time.
  • Если z == std::chrono::choose::latest, возвращает более позднее sys_time
Если tp представляет несуществующее время между двумя UTC time_point, эти два time_point будут одинаковыми, и time_point будет возвращено.

[править] Возвращаемое значение

Эквивалент tp в формате UTC в соответствии с правилами этого часового пояса.

[править] Исключения

1) Генерирует:

[править] Примечание

Точность результата не менее std::chrono::seconds и будет лучше, если аргумент имеет более высокую точность.

Неоднозначное и несуществующее местное время может возникать в результате смены часовых поясов (например, при переходе на летнее время). Например, "2016-03-13 02:30:00" не существует в часовом поясе "America/New_York", а "2016-11-06 01:30:00" в этом часовом поясе может соответствовать двум точкам времени UTC: 2016-11-06 05:30:00 UTC и 2016-11-06 06:30:00 UTC.