CppCMS
Namespaces | Classes | Functions
Date, Time, Timezone and Calendar manipulations

Namespaces

 booster::locale::period
 Namespace that contains various types for manipulation with dates.
 
 booster::locale::time_zone
 namespace that holds functions for operating with global time zone
 

Classes

class  booster::locale::date_time_error
 This error is thrown in case of invalid state that occurred. More...
 
struct  booster::locale::date_time_period
 This class represents a pair of period_type and the integer values that describes its amount. For example 3 days or 4 years. More...
 
class  booster::locale::date_time_period_set
 this class that represents a set of periods, More...
 
class  booster::locale::calendar
 this class provides an access to general calendar information. More...
 
class  booster::locale::date_time
 this class represents a date time and allows to perform various operation according to the locale settings. More...
 
class  booster::locale::date_time_duration
 This class represents a period: a pair of two date_time objects. More...
 

Functions

date_time_period_set booster::locale::operator+ (date_time_period_set const &a, date_time_period_set const &b)
 
date_time_period_set booster::locale::operator- (date_time_period_set const &a, date_time_period_set const &b)
 
template<typename CharType >
std::basic_ostream< CharType > & booster::locale::operator<< (std::basic_ostream< CharType > &out, date_time const &t)
 
template<typename CharType >
std::basic_istream< CharType > & booster::locale::operator>> (std::basic_istream< CharType > &in, date_time &t)
 
date_time_duration booster::locale::operator- (date_time const &later, date_time const &earlier)
 

Detailed Description

This module provides various calendar, timezone and date time services

Function Documentation

date_time_period_set booster::locale::operator+ ( date_time_period_set const &  a,
date_time_period_set const &  b 
)
inline

Append two periods sets. Note this operator is not commutative

References booster::locale::date_time_period_set::add(), and booster::locale::date_time_period_set::size().

Referenced by booster::locale::date_time::operator>>=().

date_time_period_set booster::locale::operator- ( date_time_period_set const &  a,
date_time_period_set const &  b 
)
inline

Append two period sets when all periods of set change their sign

References booster::locale::date_time_period_set::add(), and booster::locale::date_time_period_set::size().

Referenced by booster::locale::date_time::operator>>=().

date_time_duration booster::locale::operator- ( date_time const &  later,
date_time const &  earlier 
)
inline

Calculates the difference between two dates, the left operand is a later point on time line. Returns date_time_duration object.

template<typename CharType >
std::basic_ostream<CharType>& booster::locale::operator<< ( std::basic_ostream< CharType > &  out,
date_time const &  t 
)

Writes date_time t to output stream out.

This function uses locale, calendar and time zone of the target stream in.

For example:

date_time now(time(0),hebrew_calendar)
cout << "Year: " << period::year(now) <<" Full Date:"<< now;

The output may be Year:5770 Full Date:Jan 1, 2010

References booster::locale::ios_info::display_flags(), booster::locale::ios_info::get(), and booster::locale::date_time::time().

Referenced by booster::locale::date_time::operator>>=().

template<typename CharType >
std::basic_istream<CharType>& booster::locale::operator>> ( std::basic_istream< CharType > &  in,
date_time t 
)

Reads date_time t from output stream in

This function uses locale, calendar and time zone of the source stream in.

References booster::locale::ios_info::display_flags(), booster::locale::ios_info::get(), and booster::locale::date_time::time().

Referenced by booster::locale::as::date_full(), booster::locale::as::ftime(), and booster::locale::date_time::operator>>=().