std::chrono::time_of_day

From cppreference.com
< cpplrm; | chrono
Date and time utilities
(C++11)
(C++11)
time_of_day
(C++20)
Clocks
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Calendars
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Time zones
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C-style date and time
Defined in header <chrono>
template< class Duration >
class time_of_day; // not defined
(1) (since C++20)
template<>
class time_of_day<std::chrono::hours>;
(2) (since C++20)
template<>
class time_of_day<std::chrono::minutes>;
(3) (since C++20)
template<>
class time_of_day<std::chrono::seconds>;
(4) (since C++20)
template< class Rep, class Period >
class time_of_day<std::chrono::duration<Rep, Period>>;
(5) (since C++20)

The class template time_of_day splits a std::chrono::duration representing time since midnight into a "broken down" time such as hours:minutes:seconds, with the precision of the split determined by the Duration template parameter. It also tracks whether it should be output in a 12-hour time format or a 24-hour time format. It is primarily a formatting tool.

The primary template (1) is not defined; four specializations are provided to handle four different levels of precision.

Each specialization of time_of_day is a TriviallyCopyable StandardLayoutType.

The partial specialization (5) only exists if std::chrono::treat_as_floating_point_v<Rep> is false and std::chrono::duration<Rep, Period> is not convertible to std::chrono::seconds.

Member types

Member type Definition
precision Duration

Member functions

constructs a time_of_day
(public member function)
accesses components of the broken-down time
(public member function)
accesses the stored std::chrono::duration
(public member function)
changes the time format used for output
(public member function)

Nonmember functions

outputs a time_of_day into a stream
(function template)