Поделиться через


Класс gps_clock

Часы для времени глобальной системы позиционирования (GPS).

Синтаксис

class gps_clock; // C++20

Замечания

Это часовое время с воскресенья, 6 января 1980 г. 00:00:00 UTC.

Эти часы не учитываются в секундах прыжка. Всякий раз, когда в формате UTC добавляется в секунду в формате UTC, UTC падает еще второе за время GPS.

Время GPS находится за таймом на 19 секунд, потому что 10 секунд были добавлены в тайм в 1972 году, чтобы учесть високосные секунды, которые накапливались до этой точки, и 9 дополнительных секунд скачков были добавлены в тайм между 1970 и 1980.

Участники

Имя Описание
from_utc Статическая. Преобразует utc_time в gps_time.
now Статическая. Возвращает текущее время GPS.
to_utc Статическая. Преобразует gps_time в utc_time.

Не являющиеся членами

Имя Описание
from_stream Синтаксический gps_time анализ из заданного потока с помощью указанного формата.
operator<< Выводит объект в заданный gps_time поток.

Псевдонимы удобных типов

Имя Описание
gps_clock::duration В реализации Корпорации Майкрософт это синоним duration<long long, ratio<1, 10'000'000>. Он представляет длительность времени, измеряемую единицами в 100 наносекундах.
gps_clock::period В реализации Корпорации Майкрософт это синоним ratio<1, 10'000'000>. Он представляет время в долях секунды (100 наносекунд) между каждым часы галочки в течение длительности.
gps_clock::rep Синоним типа (long long), используемый для представления целочисленных единиц в этом часовом режиме gps_clock::duration.
gps_clock::time_point Синоним для time_point<gps_clock>. Используется для представления time_point часов.

Родственный

Имя Описание
gps_time Синоним для template <class Duration> using gps_time = time_point<gps_clock, Duration>. Используется для представления time_point для gps_clock. Укажите Duration. Определено в std::chrono
gps_seconds Синоним using gps_seconds = gps_time<seconds>; количества секунд, представленный time_point связанным с ним gps_clock. Определено в std::chrono

Открытые константы

Имя Описание
gps_clock::is_steady постоянный Указывает, является ли тип часов устойчивым. Его значение равно false.

Требования

Заголовок: <chrono> (с C++20)

Пространство имен: std::chrono

Параметр компилятора: /std:c++latest

from_utc

Статический метод, который преобразуется utc_time в объект gps_time.

template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;

Параметры

t
Объект utc_time для преобразования.

Возвращаемое значение

Значение gps_time , равное тому же моменту времени, что и точка utc_time tвремени. Он вычисляется как gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s где 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Это число секунд между utc_clock эпохой и эпохой gps_clock .

to_utc

Статический метод, который преобразуется gps_time в объект utc_time.

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;

Параметры

t
Объект gps_time для преобразования.

Возвращаемое значение

Значение utc_time , равное тому же моменту времени, что и точка gps_timeвремени. Он вычисляется как gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s где 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Это количество секунд между эпохами utc_clock и gps_clock.

is_steady

Статическое значение, указывающее, являются ли часы постоянными. В реализации is_steady_constant Корпорации Майкрософт всегда falseсуществует. gps_clock Так как он не является устойчивым, вы не можете надежно использовать эти часы, чтобы занять время до события, время после события и вычитать их, чтобы получить длительность события, так как часы могут быть скорректированы в течение этого времени.

static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false

now

Статический метод, возвращающий текущее время GPS.

static time_point now() noexcept;

Возвращаемое значение

Объект time_point, представляющий текущее время. Возвращаемая точка времени фактически from_utc(utc_clock::now()).

См. также

<chrono>
file_clock class
high_resolution_clock
Структура local_t
Структура steady_clock
Структура system_clock
Класс tai_clock
Справочник по файлам заголовков