Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Класс
Часы для универсального времени (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 постоянный |
Указывает, является ли тип часов устойчивым. Его значение равно 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_timetк . Если прямое сопоставление не существует, возвращается 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
Справочник по файлам заголовков