std::chrono::gps_clock
Определён в заголовочном файле <chrono> | ||
|---|---|---|
class gps_clock; | (начиная с C++20) |
Часы std::chrono::gps_clock — это часы, представляющие время Глобальной системы позиционирования (GPS). Они измеряют время, прошедшее с 00:00:00 6 января 1980 года по UTC.
В GPS не вставляются високосные секунды. Поэтому каждый раз, когда в UTC вставляется високосная секунда, UTC отстаёт от GPS ещё на одну секунду. По состоянию на декабрь 2017 года UTC отстаёт от GPS на 18 секунд — именно столько високосных секунд было вставлено в период с 1980 по 2017 год. Таким образом, 2018-01-01 00:00:00 UTC соответствует 2018-01-01 00:00:18 GPS. GPS постоянно отстаёт от TAI на 19 секунд.
gps_clock соответствует требованиям к часам. Оно не соответствует требованиям к тривиальным часам, если только реализация не может гарантировать, что now() не выбрасывает исключений.
Семейство точек времени
Определено в пространстве имён std::chrono
| ||
template<class Duration> using gps_time = std::chrono::time_point<std::chrono::gps_clock, Duration>; | (начиная с C++20) | |
using gps_seconds = gps_time<std::chrono::seconds>; | (начиная с C++20) |
|
(C++20) | выполняет вывод gps_time в поток (шаблон функции) |
|
(C++20) | разбирает gps_time из потока в соответствии с заданным форматом (шаблон функции) |
|
(C++20) | поддержка форматирования для gps_time (специализация шаблона класса) |
Типы-члены
| Тип-член | Определение |
|---|---|
rep | знаковый арифметический тип, представляющий число тактов в длительности часов |
period | тип std::ratio, представляющий период такта часов в секундах |
duration |
std::chrono::duration<rep, period>, способный представлять отрицательные длительности |
time_point |
std::chrono::time_point<std::chrono::gps_clock> |
Константы-члены
|
constexpr bool is_steady
[статическая] |
true, если время между тактами всегда постоянно, то есть вызовы now() возвращают монотонно возрастающие значения даже при некоторой внешней корректировке часов; в противном случае false (общедоступная статическая константа-член) |
Функции-члены
|
[статическая] | возвращает std::chrono::time_point, представляющую текущий момент времени (общедоступная статическая функция-член) |
|
[статическая] | преобразует gps_time в utc_time (общедоступная статическая функция-член) |
|
[статическая] | преобразует utc_time в gps_time (общедоступная статическая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/gps_clock