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


Класс utc_clock

Часы для универсального времени (UTC), который иногда часто называется средним временем Гринвича (GMT) или Zulu. Местное время корректируется с времени UTC в зависимости от часового пояса.

Синтаксис

class utc_clock; // C++20

Замечания

Это время измеряет время с 00:00:00 UTC в четверг, 1 января 1970 года. Эти часы учитывают високосные секунды и является основой для гражданского времени по всему миру.

Скорость времени UTC основана на международном атомарном времени (TAI), который использует атомарные часы для отслеживания времени. Однако время от времени скачка добавляется в время UTC, чтобы сохранить разницу между временем UTC и UT1 (солнечное время) в пределах +- 0,9 секунды.

Существует расхождение между временем, хранимым атомарными часами, и временем, сохраняемым путем отслеживания поворота земли. Это потому, что скорость вращения земли нерегулярна, и в целом замедляется со временем примерно на одну секунду каждые 1,5 года (хотя иногда скорость вращения земли увеличивается). Скачок второй корректировки сохраняет время отслеживания в формате UTC в течение секунды средней длины дня.

По состоянию на этот текст, 27 секунд високосных секунд были добавлены после того, как практика вставки вискочие секунды началась в 1972 году. Международная служба поворота земли и эталонных систем (IERS) определяет, когда будет добавлен скачок секунды. Добавление прыжка секунды называется "скачок второй вставки". Когда впрыжок вставляется, время, как оно приближается к полуночи, продолжается с 23 часов 59 минут 59 секунд до 23 часов 59 минут 60 секунд (вставленный прыжок второй), а затем до 0 часов 0 минут 0 секунд (полночь). Исторически с 30 июня или 31 декабря были добавлены секунды прыжков.

Время UTC, по определению, начинается от 10 секунд после ТАЙ (атомарного времени). 10 секунд были добавлены в 1972 году в тайм тайм для размещения за секунды прыжка, которые накапливались к этому моменту. Учитывая вставку еще 27 секунд скачка с тех пор, время UTC в настоящее время составляет 37 секунд за тайм (атомарные часы).

Участники

Имя Описание
from_sys Статическая. Преобразует sys_time в utc_time.
now Статическая. Возвращает текущее время.
to_sys Статическая. Преобразует utc_time в sys_time.

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

Имя Описание
from_stream Синтаксический utc_time анализ из заданного потока с помощью указанного формата.
get_leap_second_info Получает leap_second_info, указывающий, указывает, указывает ли указанное время при вставке прыжка в секунду. Она также включает в себя сумму всех секунд вискочи в период с 1 января 1970 года и указанной продолжительностью.
operator<< Выводит объект в заданный utc_time поток.

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

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

Родственный

Имя Описание
utc_seconds Синоним для using utc_seconds = utc_time<seconds>;
utc_time Синоним template<class Duration> using utc_time = time_point<utc_clock, Duration>;для представления time_point для utc_clock. Укажите длительность. Определено в std::chrono

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

Имя Описание
[utc_clock::is_steady constant](#is_steady_constant) Указывает, является ли тип часов устойчивым. Его значение равно false.

Требования

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

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

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

from_sys

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

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
from_sys(const sys_time<Duration>& t);

Параметры

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

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

Набор utc_time времени, который наиболее близко приближается sys_time tк . Если прямое сопоставление не существует, возвращается time_point во время прыжковой второй вставки и последнее представляющее значение sys_time до вставки секунды прыжка.

to_sys

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

template<class Duration>
static sys_time<common_type_t<Duration, seconds>>
to_sys(const utc_time<Duration>& t);

Параметры

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

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

Значение sys_time равно эквивалентной точке во времени t. Если прямое сопоставление не существует, это последнее представляющее значение перед вставкой прыжка секунды в случае, представляющего t точку во времени вставки секунды прыжка. Добавление прыжка секунды называется "скачок второй вставки". Когда вставить прыжок секунду, время, когда оно почти полуночи продолжается с 23 часов 59 минут 59 секунд до 23 часов 59 минут 60 секунд (вставленный прыжок второй), а затем до 0 часов 0 минут 0 секунд (полночь). В прошлом секунды прыжка были добавлены либо 30 июня, либо 31 декабря.

is_steady

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

static const bool is_steady = false;

now

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

static time_point now() noexcept;

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

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

См. также

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