std::chrono(3) Library Functions Manual std::chrono(3) NAME std::chrono - ISO C++ 2011 namespace for date and time utilities. SYNOPSIS Classes class duration chrono::duration represents a distance between two points in time struct duration_values duration_values class gps_clock class hh_mm_ss struct steady_clock Monotonic clock. struct system_clock System clock. class tai_clock class time_point chrono::time_point represents a point in time as measured by a clock struct treat_as_floating_point class tzdb_list class utc_clock Typedefs using days days using file_clock template using file_time using gps_seconds template using gps_time using high_resolution_clock Highest-resolution clock. using hours hours using local_days using local_seconds template using local_time using microseconds microseconds using milliseconds milliseconds using minutes minutes using months months using nanoseconds nanoseconds using seconds seconds using sys_days using sys_seconds template using sys_time using tai_seconds template using tai_time using utc_seconds template using utc_time using weeks weeks using years years using zoned_seconds Enumerations enum class choose { earliest, latest } Functions template void __throw_bad_local_time (const local_time< _Duration > &__tp, const local_info &__i) template constexpr enable_if_t< numeric_limits< _Rep >::is_signed, duration< _Rep, _Period > > abs (duration< _Rep, _Period > __d) template constexpr __enable_if_is_duration< _ToDur > ceil (const duration< _Rep, _Period > &__d) template constexpr enable_if_t< __is_duration_v< _ToDur >, time_point< _Clock, _ToDur > > ceil (const time_point< _Clock, _Dur > &__tp) template requires __detail::__clock_convs<_DestClock, _SourceClock, _Duration> || __detail::__clock_convs_sys<_DestClock, _SourceClock, _Duration> || __detail::__clock_convs_utc<_DestClock, _SourceClock, _Duration> || __detail::__clock_convs_sys_utc<_DestClock, _SourceClock, _Duration> || __detail::__clock_convs_utc_sys<_DestClock, _SourceClock, _Duration>auto clock_cast (const time_point< _SourceClock, _Duration > &__t)" Convert a time point to a different clock. const time_zone * current_zone () template constexpr __enable_if_is_duration< _ToDur > duration_cast (const duration< _Rep, _Period > &__d) template constexpr __enable_if_is_duration< _ToDur > floor (const duration< _Rep, _Period > &__d) template constexpr enable_if_t< __is_duration_v< _ToDur >, time_point< _Clock, _ToDur > > floor (const time_point< _Clock, _Dur > &__tp) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, day &__d, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, duration< _Rep, _Period > &__d, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, file_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, gps_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, local_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, month &__m, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, month_day &__md, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, sys_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, tai_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, utc_time< _Duration > &__tp, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, weekday &__wd, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, year &__y, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, year_month &__ym, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template> basic_istream< _CharT, _Traits > & from_stream (basic_istream< _CharT, _Traits > &__is, const _CharT *__fmt, year_month_day &__ymd, basic_string< _CharT, _Traits, _Alloc > *__abbrev=nullptr, minutes *__offset=nullptr) template leap_second_info get_leap_second_info (const utc_time< _Duration > &__ut) const tzdb & get_tzdb () tzdb_list & get_tzdb_list () constexpr bool is_am (const hours &__h) noexcept constexpr bool is_pm (const hours &__h) noexcept template __detail::__local_time_fmt< _Duration > local_time_format (local_time< _Duration > __time, const string *__abbrev=nullptr, const seconds *__offset_sec=nullptr) const time_zone * locate_zone (string_view __tz_name) constexpr hours make12 (const hours &__h) noexcept constexpr hours make24 (const hours &__h, bool __is_pm) noexcept template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const day &__d) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const file_time< _Duration > &__t) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const gps_time< _Duration > &__t) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const hh_mm_ss< _Duration > &__hms) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const local_info &__li) Writes a local_info object to an ostream in an unspecified format. template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const local_time< _Duration > &__lt) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const month &__m) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const month_day &__md) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const month_day_last &__mdl) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const month_weekday &__mwd) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const month_weekday_last &__mwdl) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const sys_days &__dp) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const sys_info &__i) Writes a sys_info object to an ostream in an unspecified format. template requires (!treat_as_floating_point_v) && ratio_less_vbasic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const sys_time< _Duration > &__tp)" template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const tai_time< _Duration > &__t) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const utc_time< _Duration > &__t) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const weekday &__wd) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const weekday_indexed &__wdi) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const weekday_last &__wdl) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year &__y) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year_month &__ym) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year_month_day &__ymd) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year_month_day_last &__ymdl) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year_month_weekday &__ymwd) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const year_month_weekday_last &__ymwdl) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const zoned_time< _Duration, _TimeZonePtr > &__t) template basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const duration< _Rep, _Period > &__d) template bool operator== (const zoned_time< _Dur1, _TZPtr1 > &__x, const zoned_time< _Dur2, _TZPtr2 > &__y) template _Parsable> auto parse (const _CharT *__fmt, _Parsable &__tp) template, __detail::__parsable< _CharT, _Traits, _StrT > _Parsable> auto parse (const _CharT *__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev) template, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable> auto parse (const _CharT *__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev, minutes &__offset) template, typename _StrT = basic_string<_CharT, _Traits>, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable> auto parse (const _CharT *__fmt, _Parsable &__tp, minutes &__offset) template _Parsable> auto parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp) template, __detail::__parsable< _CharT, _Traits, _StrT > _Parsable> auto parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev) template, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable> auto parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev, minutes &__offset) template, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable> auto parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp, minutes &__offset) const tzdb & reload_tzdb () string remote_version () template constexpr enable_if_t< __and_< __is_duration< _ToDur >, __not_< treat_as_floating_point< typename _ToDur::rep > > >::value, _ToDur > round (const duration< _Rep, _Period > &__d) template constexpr enable_if_t< __is_duration_v< _ToDur > &&!treat_as_floating_point_v< typename _ToDur::rep >, time_point< _Clock, _ToDur > > round (const time_point< _Clock, _Dur > &__tp) template constexpr __enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > time_point_cast (const time_point< _Clock, _Dur > &__t) zoned_time () -> zoned_time< seconds > template zoned_time (_TimeZonePtrOrName &&) -> zoned_time< seconds, __time_zone_representation< _TimeZonePtrOrName > > template zoned_time (_TimeZonePtrOrName &&, local_time< _Duration >, choose=choose::earliest) -> zoned_time< common_type_t< _Duration, seconds >, __time_zone_representation< _TimeZonePtrOrName > > template zoned_time (_TimeZonePtrOrName &&, sys_time< _Duration >) -> zoned_time< common_type_t< _Duration, seconds >, __time_zone_representation< _TimeZonePtrOrName > > template zoned_time (_TimeZonePtrOrName &&, zoned_time< _Duration, _TimeZonePtr2 >, choose=choose::earliest) -> zoned_time< common_type_t< _Duration, seconds >, __time_zone_representation< _TimeZonePtrOrName > > template zoned_time (sys_time< _Duration >) -> zoned_time< common_type_t< _Duration, seconds > > template _Dur2> constexpr auto operator<=> (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) template constexpr bool operator< (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) template constexpr bool operator<= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) template constexpr bool operator> (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) template constexpr bool operator>= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) Variables template constexpr bool __is_time_point_for_v template constexpr bool __is_time_point_for_v< time_point< _Clock, _Duration >, _Clock > constexpr month April constexpr month August constexpr month December constexpr month February constexpr weekday Friday template constexpr bool is_clock_v template constexpr bool is_clock_v< _Tp, void_t< typename _Tp::rep, typename _Tp::period, typename _Tp::duration, typename _Tp::time_point::duration, decltype(_Tp::is_steady), decltype(_Tp::now())> > template<> constexpr bool is_clock_v< file_clock > template<> constexpr bool is_clock_v< gps_clock > template<> constexpr bool is_clock_v< steady_clock > template<> constexpr bool is_clock_v< system_clock > template<> constexpr bool is_clock_v< tai_clock > template<> constexpr bool is_clock_v< utc_clock > constexpr month January constexpr month July constexpr month June constexpr last_spec last constexpr month March constexpr month May constexpr weekday Monday constexpr month November constexpr month October constexpr weekday Saturday constexpr month September constexpr weekday Sunday constexpr weekday Thursday template constexpr bool treat_as_floating_point_v template<> constexpr bool treat_as_floating_point_v< double > template<> constexpr bool treat_as_floating_point_v< float > template<> constexpr bool treat_as_floating_point_v< int > template<> constexpr bool treat_as_floating_point_v< long > template<> constexpr bool treat_as_floating_point_v< long double > template<> constexpr bool treat_as_floating_point_v< long long > constexpr weekday Tuesday constexpr weekday Wednesday template constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type operator- (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) The difference between two durations. template constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type operator+ (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) The sum of two durations. template constexpr duration< __common_rep_t< _Rep2, _Rep1 >, _Period > operator* (const _Rep1 &__s, const duration< _Rep2, _Period > &__d) template constexpr duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > operator/ (const duration< _Rep1, _Period > &__d, const _Rep2 &__s) template constexpr common_type< _Rep1, _Rep2 >::type operator/ (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > operator% (const duration< _Rep1, _Period > &__d, const _Rep2 &__s) template constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type operator% (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr duration< __common_rep_t< _Rep1, _Rep2 >, _Period > operator* (const duration< _Rep1, _Period > &__d, const _Rep2 &__s) template constexpr bool operator< (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template requires three_way_comparable>constexpr auto operator<=> (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)" template constexpr bool operator<= (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr bool operator> (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr bool operator>= (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr bool operator== (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) template constexpr time_point< _Clock, typename common_type< duration< _Rep1, _Period1 >, _Dur2 >::type > operator+ (const duration< _Rep1, _Period1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) Adjust a time point forwards by the given duration. template constexpr time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > operator- (const time_point< _Clock, _Dur1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) Adjust a time point backwards by the given duration. template constexpr common_type< _Dur1, _Dur2 >::type operator- (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs) The difference between two time points (as a duration). template constexpr time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > operator+ (const time_point< _Clock, _Dur1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs) Adjust a time point forwards by the given duration. Detailed Description ISO C++ 2011 namespace for date and time utilities. Author Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ std::chrono(3)