Пространства имён
Варианты
Действия

std::chrono::system_clock

Материал из cppreference.com
< cpp‎ | chrono
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм(C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования(C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
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)
выполняет потоковый вывод sys_time
(шаблон функции)[править]
анализирует sys_time из потока в соответствии с предоставленным форматом
(шаблон функции)[править]
поддержка форматирования для sys_time
(специализация шаблона класса)[править]

[править]Типы элементы

Тип элемент Определение
rep знаковый арифметический тип, представляющий количество тиков в длительности часов
period тип std::ratio, представляющий период тика часов в секундах
durationstd::chrono::duration<rep, period>, способный отображать отрицательную длительность
time_pointstd::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.

[править]Смотрите также

монотонные часы, которые никогда не будут корректироваться
(класс)[править]
часы с самым коротким периодом такта
(класс)[править]
close