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) | |
выполняет потоковый вывод sys_time (шаблон функции) | |
анализирует sys_time из потока в соответствии с предоставленным форматом (шаблон функции) | |
поддержка форматирования для 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 (public static константа-элемент) |
[править]Функции-элементы
[static] | возвращает std::chrono::time_point, представляющий текущий момент времени (public static функция-элемент) |
[static] | преобразует момент времени системных часов в std::time_t (public static функция-элемент) |
[static] | преобразует std::time_t в момент времени системных часов (public static функция-элемент) |
[править]Примечание
Значение времени system_clock
может быть изменено операционной системой в любое время, например, из-за синхронизации NTP или изменения системных часов пользователем. Однако изменения летнего времени и часового пояса не влияют на него, поскольку оно основано на часовом поясе UTC.
[править]Смотрите также
(C++11) | монотонные часы, которые никогда не будут корректироваться (класс) |
(C++11) | часы с самым коротким периодом такта (класс) |