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().

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().

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().

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().