std::chrono::tai_clock
| Определено в заголовочном файле <chrono>
|
||
class tai_clock; |
(начиная с C++20) | |
Часы std::chrono::tai_clock это Clock, представляющие Международное Атомное Время (TAI). Они измеряют время с 00:00:00 1 января 1958 года и смещаются на 10 секунд вперёд относительно UTC на эту дату (т.е. эпоха 1958-01-01 00:00:00 TAI равно 1957-12-31 23:59:50 UTC).
Високосные секунды не вставляются в TAI. Таким образом, каждый раз, когда в UTC вставляется дополнительная секунда, UTC отстаёт от TAI ещё на одну секунду. По состоянию на декабрь 2017 года UTC на 37 секунд отстаёт от TAI, что отражает 10-секундное начальное смещение и 27 дополнительных секунд, вставленных между 1958 и 2017 годами. Таким образом, 2018-01-01 00:00:00 UTC эквивалентно 2018-01-01 00:00:37 TAI.
tai_clock соответствует требованиям Clock. Они не соответствуют требованиям TrivialClock, если реализация не может гарантировать, что now() не вызовет исключение.
Семейство временных точек
<tbody> </tbody>| Определено в пространстве имён std::chrono |
||
template<class Duration> using tai_time = std::chrono::time_point<std::chrono::tai_clock, Duration>; |
(начиная с C++20) | |
using tai_seconds = tai_time<std::chrono::seconds>; |
(начиная с C++20) | |
| выполняет потоковый вывод tai_time (шаблон функции) | |
| анализирует tai_time из потока в соответствии с предоставленным форматом (шаблон функции) | |
поддержка форматирования для tai_time (специализация шаблона класса) |
Типы элементы
| Тип элемент | Определение |
rep
|
знаковый арифметический тип, представляющий количество тиков в длительности часов |
period
|
тип std::ratio, представляющий период тика часов в секундах |
duration
|
std::chrono::duration<rep, period>, способный отображать отрицательную длительность
|
time_point
|
std::chrono::time_point<std::chrono::tai_clock>
|
Константы элементы
constexpr bool is_steady [static] |
true, если время между тиками всегда постоянно, т.е. вызовы now() возвращают значения, которые монотонно возрастают даже в случае некоторой внешней настройки часов, иначе false (public static константа-элемент) |
Функции-элементы
[static] |
возвращает std::chrono::time_point, представляющий текущий момент времени (public static функция-элемент) |
[static] |
преобразует tai_time в utc_time (public static функция-элемент) |
[static] |
преобразует utc_time в tai_time (public static функция-элемент) |