std::chrono Namespace Reference
Utilities » Time

## Classes

class | duration
struct | duration_values
class | gps_clock
class | hh_mm_ss
struct | steady_clock
struct | system_clock
class | tai_clock
class | time_point
struct | treat_as_floating_point
class | tzdb_list
class | utc_clock

## Typedefs

using | days
using | file_clock
template<typename _Duration>
using | file_time
using | gps_seconds
template<typename _Duration>
using | gps_time
using | high_resolution_clock
using | hours
using | local_days
using | local_seconds
template<typename _Duration>
using | local_time
using | microseconds
using | milliseconds
using | minutes
using | months
using | nanoseconds
using | seconds
using | sys_days
using | sys_seconds
template<typename _Duration>
using | sys_time
using | tai_seconds
template<typename _Duration>
using | tai_time
using | utc_seconds
template<typename _Duration>
using | utc_time
using | weeks
using | years
using | zoned_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 _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)
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 _Clock, typename _Dur>
constexpr enable_if_t< __is_duration_v< _ToDur >, time_point< _Clock, _ToDur > > | floor (const time_point< _Clock, _Dur > &__tp)
template<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Rep, typename _Period, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Duration, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<typename _CharT, typename _Traits, typename _Alloc = allocator<_CharT>>
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<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)
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)
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)
template<typename _CharT, __detail::__parsable< _CharT > _Parsable>
auto | parse (const _CharT *__fmt, _Parsable &__tp)
template<typename _CharT, typename _Traits, typename _Alloc, typename _StrT = basic_string<_CharT, _Traits, _Alloc>, __detail::__parsable< _CharT, _Traits, _StrT > _Parsable>
auto | parse (const _CharT *__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev)
template<typename _CharT, typename _Traits, typename _Alloc, typename _StrT = basic_string<_CharT, _Traits, _Alloc>, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable>
auto | parse (const _CharT *__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev, minutes &__offset)
template<typename _CharT, typename _Traits = char_traits<_CharT>, typename _StrT = basic_string<_CharT, _Traits>, __detail::__parsable< _CharT, _Traits, _StrT, minutes > _Parsable>
auto | parse (const _CharT *__fmt, _Parsable &__tp, minutes &__offset)
template<typename _CharT, typename _Traits, typename _Alloc, __detail::__parsable< _CharT, _Traits > _Parsable>
auto | parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp)
template<typename _CharT, typename _Traits, typename _Alloc, typename _StrT = basic_string<_CharT, _Traits, _Alloc>, __detail::__parsable< _CharT, _Traits, _StrT > _Parsable>
auto | parse (const basic_string< _CharT, _Traits, _Alloc > &__fmt, _Parsable &__tp, basic_string< _CharT, _Traits, _Alloc > &__abbrev)
template<typename _CharT, typename _Traits, typename _Alloc, typename _StrT = basic_string<_CharT, _Traits, _Alloc>, __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<typename _CharT, typename _Traits, typename _Alloc, typename _StrT = basic_string<_CharT, _Traits>, __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<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 _Clock, typename _Dur1, three_way_comparable_with< _Dur1 > _Dur2>
constexpr auto | 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, typename = void>
constexpr bool | is_clock_v
template<typename _Tp>
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<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
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 common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type | operator+ (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
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 _Period, typename _Rep2>
constexpr duration< __common_rep_t< _Rep1, _Rep2 >, _Period > | operator* (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
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> requires three_way_comparable<common_type_t<_Rep1, _Rep2>>
constexpr auto | 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)
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)
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)
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)

## Detailed Description

ISO C++ 2011 namespace for date and time utilities.