std::chrono::tai_clock
Определён в заголовке <chrono> | ||
|---|---|---|
class tai_clock; | (начиная с C++20) |
Часы std::chrono::tai_clock соответствуют требованиям Clock и представляют международное атомное время (TAI). Они измеряют время с 00:00:00 1 января 1958 года и опережают UTC на 10 секунд на эту дату (то есть их эпоха, 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 соответствует требованиям Clock. Оно не соответствует требованиям TrivialClock, если только реализация не может гарантировать, что 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 | тип 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 (общедоступная статическая константа-член) |
Функции-члены
|
[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/cpp/chrono/tai_clock