Spec-Zone.ru › C++

std::chrono::system_clock

Определён в заголовочном файле <chrono>
class system_clock;
(начиная с C++11)

Класс std::chrono::system_clock представляет системные часы реального времени.

Они могут быть немонотонными: в большинстве систем системное время можно скорректировать в любой момент. Это единственные часы C++, способные сопоставлять свои моменты времени со временем в стиле C.

std::chrono::system_clock соответствует требованиям TrivialClock.

Начало отсчёта system_clock не определено, но в большинстве реализаций используется время Unix (то есть время, прошедшее с 00:00:00 по всемирному координированному времени (UTC), четверга, 1 января 1970 года, без учёта високосных секунд).

(до C++20)

system_clock измеряет время Unix (то есть время, прошедшее с 00:00:00 по всемирному координированному времени (UTC), четверга, 1 января 1970 года, без учёта високосных секунд).

(начиная с C++20)

Семейство точек времени

Определено в пространстве имён std::chrono
template<class Duration>
using sys_time = std::chrono::time_point<std::chrono::system_clock, Duration>;
(начиная с C++20)
using sys_seconds = sys_time<std::chrono::seconds>;
(начиная с C++20)
using sys_days = sys_time<std::chrono::days>;
(начиная с C++20)
operator<<(std::chrono::sys_time)
(C++20)
выводит sys_time в поток
(шаблон функции)
from_stream(std::chrono::sys_time)
(C++20)
разбирает sys_time из потока в соответствии с заданным форматом
(шаблон функции)
std::formatter<std::chrono::sys_time>
(C++20)
поддержка форматирования sys_time
(специализация шаблона класса)

Типы-члены

Тип-член Определение
rep знаковый целочисленный тип, представляющий число тактов в интервале времени часов
period тип std::ratio, представляющий период такта часов в секундах
duration std::chrono::duration<rep, period>, способный представлять отрицательные интервалы времени
time_point std::chrono::time_point<std::chrono::system_clock>

Константы-члены

constexpr bool is_steady
[static]
true, если интервал между тактами всегда постоянен, то есть вызовы now() возвращают монотонно возрастающие значения даже при внешней коррекции часов; в противном случае — false
(открытая статическая константа-член)

Функции-члены

now
[static]
возвращает std::chrono::time_point, представляющую текущий момент времени
(открытая статическая функция-член)
to_time_t
[static]
преобразует момент времени системных часов в std::time_t
(открытая статическая функция-член)
from_time_t
[static]
преобразует std::time_t в момент времени системных часов
(открытая статическая функция-член)

Примечания

Значение времени system_clock может в любой момент корректироваться операционной системой, например, из-за синхронизации по NTP или изменения системных часов пользователем. Однако переходы на летнее время и изменения часового пояса на него не влияют, поскольку оно основано на часовом поясе UTC.

См. также

steady_clock
(C++11)
монотонные часы, которые никогда не корректируются
(класс)
high_resolution_clock
(C++11)
часы с самым коротким доступным периодом такта
(класс)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/system_clock

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API