table of contents
std::chrono(3cxx) | std::chrono(3cxx) |
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 = duration< int64_t,
ratio< 86400 > >
days using file_clock = ::std::filesystem::__file_clock
template<typename _Duration > using
file_time = time_point< file_clock, _Duration >
using gps_seconds = gps_time< seconds >
template<typename _Duration > using gps_time
= time_point< gps_clock, _Duration >
using high_resolution_clock = system_clock
Highest-resolution clock. using hours = duration<
int64_t, ratio< 3600 > >
hours using local_days = local_time< days >
using local_seconds = local_time< seconds >
template<typename _Duration > using
local_time = time_point< local_t, _Duration >
using microseconds = duration< int64_t, micro
>
microseconds using milliseconds = duration< int64_t,
milli >
milliseconds using minutes = duration< int64_t,
ratio< 60 > >
minutes using months = duration< int64_t,
ratio< 2629746 > >
months using nanoseconds = duration< int64_t,
nano >
nanoseconds using seconds = duration< int64_t >
seconds using sys_days = sys_time< days >
using sys_seconds = sys_time< seconds >
template<typename _Duration > using sys_time
= time_point< system_clock, _Duration >
using tai_seconds = tai_time< seconds >
template<typename _Duration > using tai_time
= time_point< tai_clock, _Duration >
using utc_seconds = utc_time< seconds >
template<typename _Duration > using utc_time
= time_point< utc_clock, _Duration >
using weeks = duration< int64_t, ratio<
604800 > >
weeks using years = duration< int64_t,
ratio< 31556952 > >
years using zoned_seconds = zoned_time< seconds >
Enumerations¶
enum class choose { earliest, latest }
Functions¶
template<typename _Duration > void
__throw_bad_local_time (const local_time< _Duration
> &__tp, const local_info &__i)
template<typename _Rep , typename _Period >
constexpr enable_if_t< numeric_limits< _Rep
>::is_signed, duration< _Rep, _Period > >
abs (duration< _Rep, _Period > __d)
template<typename _ToDur , typename _Rep ,
typename _Period > constexpr
__enable_if_is_duration< _ToDur > ceil (const
duration< _Rep, _Period > &__d)
template<typename _ToDur , typename _Clock ,
typename _Dur > constexpr enable_if_t<
__is_duration_v< _ToDur >, time_point<
_Clock, _ToDur > > ceil (const
time_point< _Clock, _Dur > &__tp)
template<typename _DestClock , typename
_SourceClock , typename _Duration >
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<typename _ToDur , typename _Rep ,
typename _Period > constexpr
__enable_if_is_duration< _ToDur > duration_cast
(const duration< _Rep, _Period > &__d)
template<typename _ToDur , typename _Rep ,
typename _Period > constexpr
__enable_if_is_duration< _ToDur > floor (const
duration< _Rep, _Period > &__d)
template<typename _ToDur , typename _Clock ,
typename _Dur > constexpr enable_if_t<
__is_duration_v< _ToDur >, time_point<
_Clock, _ToDur > > floor (const
time_point< _Clock, _Dur > &__tp)
template<typename _Duration > 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<typename _Duration >
__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<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const day
&__d)
template<typename _CharT , typename _Traits , typename
_Duration > basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const file_time< _Duration > &__t)
template<typename _CharT , typename _Traits , typename
_Duration > basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const gps_time< _Duration > &__t)
template<typename _CharT , typename _Traits , typename
_Duration > basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const hh_mm_ss< _Duration >
&__hms)
template<typename _CharT , typename _Traits >
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<typename _CharT , typename _Traits ,
typename _Duration > basic_ostream< _CharT,
_Traits > & operator<< (basic_ostream< _CharT,
_Traits > &__os, const local_time< _Duration
> &__lt)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const month
&__m)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
month_day &__md)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
month_day_last &__mdl)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
month_weekday &__mwd)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
month_weekday_last &__mwdl)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
sys_days &__dp)
template<typename _CharT , typename _Traits >
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<typename _CharT , typename _Traits ,
typename _Duration >
requires (!treat_as_floating_point_v<typename _Duration::rep>)
&& ratio_less_v<typename _Duration::period,
days::period>basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const sys_time< _Duration >
&__tp)"
template<typename _CharT , typename _Traits , typename
_Duration > basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const tai_time< _Duration > &__t)
template<typename _CharT , typename _Traits , typename
_Duration > basic_ostream< _CharT, _Traits > &
operator<< (basic_ostream< _CharT, _Traits >
&__os, const utc_time< _Duration > &__t)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
weekday &__wd)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
weekday_indexed &__wdi)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
weekday_last &__wdl)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const year
&__y)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
year_month &__ym)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
year_month_day &__ymd)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
year_month_day_last &__ymdl)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
year_month_weekday &__ymwd)
template<typename _CharT , typename _Traits >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
year_month_weekday_last &__ymwdl)
template<typename _CharT , typename _Traits , typename
_Duration , typename _TimeZonePtr >
basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, const
zoned_time< _Duration, _TimeZonePtr > &__t)
template<typename _CharT , typename _Traits , typename
_Rep , typename _Period > basic_ostream< _CharT,
_Traits > & operator<< (std::basic_ostream<
_CharT, _Traits > &__os, const duration< _Rep,
_Period > &__d)
template<typename _Dur1 , typename _TZPtr1 ,
typename _Dur2 , typename _TZPtr2 > bool
operator== (const zoned_time< _Dur1, _TZPtr1 >
&__x, const zoned_time< _Dur2, _TZPtr2 > &__y)
const tzdb & reload_tzdb ()
string remote_version ()
template<typename _ToDur , typename _Rep ,
typename _Period > 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<typename _ToDur , typename _Clock ,
typename _Dur > 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<typename _ToDur , typename _Clock ,
typename _Dur > 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<typename _TimeZonePtrOrName > zoned_time
(_TimeZonePtrOrName &&) -> zoned_time< seconds,
__time_zone_representation< _TimeZonePtrOrName > >
template<typename _TimeZonePtrOrName , typename
_Duration > zoned_time (_TimeZonePtrOrName
&&, local_time< _Duration >,
choose=choose::earliest) -> zoned_time< common_type_t<
_Duration, seconds >, __time_zone_representation<
_TimeZonePtrOrName > >
template<typename _TimeZonePtrOrName , typename
_Duration > zoned_time (_TimeZonePtrOrName
&&, sys_time< _Duration >) -> zoned_time<
common_type_t< _Duration, seconds >,
__time_zone_representation< _TimeZonePtrOrName > >
template<typename _Duration , typename
_TimeZonePtrOrName , typename _TimeZonePtr2 >
zoned_time (_TimeZonePtrOrName &&, zoned_time<
_Duration, _TimeZonePtr2 >, choose=choose::earliest) ->
zoned_time< common_type_t< _Duration, seconds
>, __time_zone_representation< _TimeZonePtrOrName >
>
template<typename _Duration > zoned_time
(sys_time< _Duration >) -> zoned_time<
common_type_t< _Duration, seconds > >
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
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<typename _Rep1 , typename _Rep2 ,
typename _Period > constexpr duration<
__common_rep_t< _Rep2, _Rep1 >, _Period
> operator* (const _Rep1 &__s, const
duration< _Rep2, _Period > &__d)
template<typename _Rep1 , typename _Period ,
typename _Rep2 > constexpr duration<
__common_rep_t< _Rep1, __disable_if_is_duration<
_Rep2 > >, _Period > operator/ (const
duration< _Rep1, _Period > &__d, const
_Rep2 &__s)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr common_type< _Rep1, _Rep2 >::type
operator/ (const duration< _Rep1, _Period1
> &__lhs, const duration< _Rep2,
_Period2 > &__rhs)
template<typename _Rep1 , typename _Period ,
typename _Rep2 > constexpr duration<
__common_rep_t< _Rep1, __disable_if_is_duration<
_Rep2 > >, _Period > operator% (const
duration< _Rep1, _Period > &__d, const
_Rep2 &__s)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr common_type< duration< _Rep1,
_Period1 >, duration< _Rep2, _Period2 >
>::type operator% (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr bool operator< (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr bool operator!= (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr bool operator<= (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr bool operator> (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Rep2 , typename _Period2 >
constexpr bool operator>= (const duration< _Rep1,
_Period1 > &__lhs, const duration<
_Rep2, _Period2 > &__rhs)
template<typename _Rep1 , typename _Period1 ,
typename _Clock , typename _Dur2 > 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<typename _Clock , typename _Dur1 ,
typename _Rep2 , typename _Period2 >
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<typename _Clock , typename _Dur1 ,
typename _Dur2 > 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<typename _Clock , typename _Dur1 ,
typename _Dur2 > constexpr bool operator!= (const
time_point< _Clock, _Dur1 > &__lhs,
const time_point< _Clock, _Dur2 >
&__rhs)
template<typename _Clock , typename _Dur1 ,
typename _Dur2 > constexpr bool operator< (const
time_point< _Clock, _Dur1 > &__lhs,
const time_point< _Clock, _Dur2 >
&__rhs)
template<typename _Clock , typename _Dur1 ,
typename _Dur2 > constexpr bool operator<= (const
time_point< _Clock, _Dur1 > &__lhs,
const time_point< _Clock, _Dur2 >
&__rhs)
template<typename _Clock , typename _Dur1 ,
typename _Dur2 > constexpr bool operator> (const
time_point< _Clock, _Dur1 > &__lhs,
const time_point< _Clock, _Dur2 >
&__rhs)
template<typename _Clock , typename _Dur1 ,
typename _Dur2 > constexpr bool operator>= (const
time_point< _Clock, _Dur1 > &__lhs,
const time_point< _Clock, _Dur2 >
&__rhs)
Variables¶
template<typename _Tp , typename _Clock
> constexpr bool __is_time_point_for_v
template<typename _Clock , typename _Duration
> 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<typename _Tp > constexpr bool is_clock_v
template<typename _Tp > constexpr bool is_clock_v< _Tp
>
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<typename _Rep > 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
Detailed Description¶
ISO C++ 2011 namespace for date and time utilities.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |