std::chrono::tai_clock
Определено в заголовке <chrono> | ||
|---|---|---|
class tai_clock; | (с C++20) |
Часы std::chrono::tai_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 отстаёт от TAI на 37 секунд, что отражает начальное отставание на 10 секунд и 27 високосных секунд, введённых между 1958 и 2017 годами. Таким образом, 2018-01-01 00:00:00 UTC соответствует 2018-01-01 00:00:37 TAI.
tai_clock соответствует требованиям часового механизма. Оно не соответствует требованиям тривиального часового механизма, если только реализация не может гарантировать, что now() не выбрасывает исключение.
Семейство точек времени
Определено в пространстве имён 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) |
|
(C++20) | выполняет вывод потока в tai_time (шаблон функции) |
|
(C++20) | анализирует tai_time из потока в соответствии с предоставленным форматом (шаблон функции) |
|
(C++20) | поддержка форматирования для tai_time (специализация шаблона класса) |
Типы членов
| Тип члена | Определение |
|---|---|
rep | знаковый арифметический тип, представляющий количество тиков в длительности часов |
period | тип, представляющий период тика часов в секундах |
duration | std::chrono::duration<rep, period>, способный представлять отрицательные длительности |
time_point | std::chrono::time_point<std::chrono::tai_clock> |
Постоянные члены
| constexpr bool is_steady
[static] | true , если время между тиками всегда постоянно, т. е. вызовы now() возвращают значения, которые монотонно увеличиваются даже при некоторых внешних корректировках часов, в противном случае false (общедоступная статическая константа члена) |
Функции-члены
|
[static] | возвращает std::chrono::time_point , представляющую текущую точку во времени (общедоступная статическая функция-член) |
|
[static] | преобразует tai_time в utc_time (общедоступная статическая функция-член) |
|
[static] | преобразует utc_time в tai_time (общедоступная статическая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/tai_clock