std::chrono::system_clock
Определён в заголовочном файле <chrono> | ||
|---|---|---|
class system_clock; | (начиная с C++11) |
Класс std::chrono::system_clock представляет системные часы реального времени.
Они могут быть немонотонными: в большинстве систем системное время можно скорректировать в любой момент. Это единственные часы C++, способные сопоставлять свои моменты времени со временем в стиле C.
std::chrono::system_clock соответствует требованиям TrivialClock.
| Начало отсчёта | (до C++20) |
|
| (начиная с 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) |
|
(C++20) | выводит sys_time в поток (шаблон функции) |
|
(C++20) | разбирает 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 (открытая статическая константа-член) |
Функции-члены
|
[static] | возвращает std::chrono::time_point, представляющую текущий момент времени (открытая статическая функция-член) |
|
[static] | преобразует момент времени системных часов в std::time_t (открытая статическая функция-член) |
|
[static] | преобразует std::time_t в момент времени системных часов (открытая статическая функция-член) |
Примечания
Значение времени system_clock может в любой момент корректироваться операционной системой, например, из-за синхронизации по NTP или изменения системных часов пользователем. Однако переходы на летнее время и изменения часового пояса на него не влияют, поскольку оно основано на часовом поясе UTC.
См. также
|
(C++11) | монотонные часы, которые никогда не корректируются (класс) |
|
(C++11) | часы с самым коротким доступным периодом такта (класс) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/system_clock