# Local Time Reference

std::tm `const `local_date_time` &` Function that creates a tm struct from a local_date_time.
date_time::time_zone_base< posix_time::ptime, CharT >
A real time zone.
boost::posix_time::time_duration
date_time::time_zone_base< posix_time::ptime, CharT >
base_type::string_type
base_type::stringstream_type
date_time::time_zone_names_base< CharT >
CharT
string_type
string_type
string_type
string_type
bool True if zone uses daylight savings adjustments.
posix_time::ptime `gregorian::greg_year` Local time that DST starts – NADT if has_dst is false.
posix_time::ptime `gregorian::greg_year` Local time that DST ends – NADT if has_dst is false.
time_duration_type Base offset from UTC for zone (eg: -07:30:00)
time_duration_type Adjustment forward or back made while DST is in effect.
string_type Returns a POSIX time_zone string for this object.
const time_zone_names &
const time_duration_type &
const dst_adjustment_offsets &
boost::shared_ptr< dst_calc_rule >
boost::shared_ptr< dst_calc_rule >
`custom_time_zone_base`< char >

Operators for local_date_time and optional gregorian types. Operators use snap-to-end-of-month behavior. Further details on this behavior can be found in reference for date_time/date_duration_types.hpp and documentation for month and year iterators.

`local_date_time` `const `local_date_time` &` `const boost::gregorian::months &`

Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details

`local_date_time` ``local_date_time` &` `const boost::gregorian::months &`

Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details

`local_date_time` `const `local_date_time` &` `const boost::gregorian::months &`

Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details

`local_date_time` ``local_date_time` &` `const boost::gregorian::months &`

Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details

`local_date_time` `const `local_date_time` &` `const boost::gregorian::years &`

Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details

`local_date_time` ``local_date_time` &` `const boost::gregorian::years &`

Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details

`local_date_time` `const `local_date_time` &` `const boost::gregorian::years &`

Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details

`local_date_time` ``local_date_time` &` `const boost::gregorian::years &`

Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details

gregorian::date
gregorian::first_kday_of_month
gregorian::last_kday_of_month
gregorian::date
gregorian::last_kday_of_month
gregorian::last_kday_of_month
gregorian::date
gregorian::nth_kday_of_month
gregorian::nth_kday_of_month
gregorian::date
gregorian::nth_kday_of_month
gregorian::last_kday_of_month
gregorian::date
gregorian::partial_date
gregorian::partial_date
Provides rule of the form starting Apr 30 ending Oct 21.
date_time::dst_day_calc_rule< gregorian::date >
Provides rule of the form first Sunday in April, last Saturday in Oct.
date_time::day_calc_dst_rule< `partial_date_rule_spec` >
Provides rule of the form first Sunday in April, last Saturday in Oct.
date_time::day_calc_dst_rule< `first_last_rule_spec` >
Provides rule of the form last Sunday in April, last Saturday in Oct.
date_time::day_calc_dst_rule< `last_last_rule_spec` >
Provides rule in form of [1st|2nd|3rd|4th] Sunday in April, last Sunday in Oct.
date_time::day_calc_dst_rule< `nth_last_rule_spec` >
Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October.
date_time::day_calc_dst_rule< `nth_kday_rule_spec` >
Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October.
date_time::day_calc_dst_rule< `nth_kday_rule_spec` >
logic_error
simple exception for reporting when STD or DST cannot be determined
std::string const &
std::string()
logic_error
std::string const &
std::string()
posix_time::ptime
date_time::time_zone_base<utc_time_,char>
date_time::base_time< utc_time_, boost::posix_time::posix_time_system >
Representation of "wall-clock" time in a particular time zone.

Representation of "wall-clock" time in a particular time zone Local_date_time_base holds a time value (date and time offset from 00:00) along with a time zone. The time value is stored as UTC and conversions to wall clock time are made as needed. This approach allows for operations between wall-clock times in different time zones, and daylight savings time considerations, to be made. Time zones are required to be in the form of a boost::shared_ptr<time_zone_base>.

utc_time_
utc_time_type::time_duration_type
utc_time_type::date_type
date_type::duration_type
utc_time_type::time_system_type
boost::shared_ptr< tz_type > returns time zone associated with calling instance
bool returns false is time_zone is NULL and if time value is a special_value
utc_time_type Returns object's time value as a utc representation.
utc_time_type Returns object's time value as a local representation.
std::string Returns string in the form "2003-Aug-20 05:00:00 EDT".

Returns string in the form "2003-Aug-20 05:00:00 EDT". If time_zone is NULL the time zone abbreviation will be "UTC". The time zone abbrev will not be included if calling object is a special_value

`local_date_time_base` `boost::shared_ptr< tz_type >` `time_duration_typetime_duration_type(0, 0, 0)`

returns a `local_date_time_base` in the given time zone with the optional time_duration added.

std::string `boolfalse` Returns name of associated time zone or "Coordinated Universal Time".

Optional bool parameter will return time zone as an offset (ie "+07:00" extended ISO 8601 format). Empty string is returned for classes that do not use a time_zone

std::string `boolfalse` Returns abbreviation of associated time zone or "UTC".

Optional bool parameter will return time zone as an offset (ie "+0700" ISO 8601 format). Empty string is returned for classes that do not use a time_zone

std::string returns a posix_time_zone string for the associated time_zone. If no time_zone, "UTC+00" is returned.
bool `const `local_date_time_base` &` Equality comparison operator.

Equality comparison operator

bool `const `local_date_time_base` &` Non-Equality comparison operator.
bool `const `local_date_time_base` &` Less than comparison operator.
bool `const `local_date_time_base` &` Less than or equal to comparison operator.
bool `const `local_date_time_base` &` Greater than comparison operator.
bool `const `local_date_time_base` &` Greater than or equal to comparison operator.
`local_date_time_base` `const date_duration_type &` Local_date_time + date_duration.
`local_date_time_base` `const date_duration_type &` Local_date_time += date_duration.
`local_date_time_base` `const date_duration_type &` Local_date_time - date_duration.
`local_date_time_base` `const date_duration_type &` Local_date_time -= date_duration.
`local_date_time_base` `const time_duration_type &` Local_date_time + time_duration.
`local_date_time_base` `const time_duration_type &` Local_date_time += time_duration.
`local_date_time_base` `const time_duration_type &` Local_date_time - time_duration.
`local_date_time_base` `const time_duration_type &` Local_date_time -= time_duration.
time_duration_type `const `local_date_time_base` &` local_date_time -= local_date_time --> time_duration_type
utc_time_type

A UTC time

boost::shared_ptr< tz_type >

Timezone for to adjust the UTC time to.

This constructor interprets the passed time as a UTC time. So, for example, if the passed timezone is UTC-5 then the time will be adjusted back 5 hours. The time zone allows for automatic calculation of whether the particular time is adjusted for daylight savings, etc. If the time zone shared pointer is null then time stays unadjusted.

date_type
time_duration_type
boost::shared_ptr< tz_type >
bool

This constructs a local time – the passed time information understood to be in the passed tz. The DST flag must be passed to indicate whether the time is in daylight savings or not.

`&ndash;` `time_label_invalid` if the time passed does not exist in the given locale. The non-existent case occurs typically during the shift-back from daylight savings time. When the clock is shifted forward a range of times (2 am to 3 am in the US) is skipped and hence is invalid. `dst_not_valid` if the DST flag is passed for a period where DST is not active.

date_type
time_duration_type
boost::shared_ptr< tz_type >
DST_CALC_OPTIONS

This constructs a local time – the passed time information understood to be in the passed tz. The DST flag is calculated according to the specified rule.

Simple destructor, releases time zone if last referrer.
const `local_date_time_base` &
Copy constructor.
const boost::date_time::special_values
boost::shared_ptr< tz_type >
boost::shared_ptr< tz_type >()
Special values constructor.
time_is_dst_result `date_type` `time_duration_type` `boost::shared_ptr< tz_type >` Determines if given time label is in daylight savings for given zone.

Determines if given time label is in daylight savings for given zone. Takes a date and time_duration representing a local time, along with time zone, and returns a time_is_dst_result object as result.

utc_time_type `utc_time_type` `boost::shared_ptr< tz_type >` `bool`

Adjust the passed in time to UTC?

std::string `const time_duration_type &` `const std::string &`

Simple formatting code – todo remove this?

logic_error
simple exception for when time label given cannot exist
std::string const &
std::string()
Use the default parameters to define local_date_time.
`local_date_time_base`
boost::date_time::time_facet< `local_date_time`, wchar_t >
boost::date_time::time_facet< `local_date_time`, char >
boost::date_time::time_input_facet< local_date_time::utc_time_type, wchar_t >
boost::date_time::time_input_facet< local_date_time::utc_time_type, char >
std::basic_ostream< CharT, TraitsT > & `std::basic_ostream< CharT, TraitsT > &` `const `local_date_time` &` operator<< for local_date_time - see local_time docs for formatting details
std::basic_istream< CharT, Traits > & `std::basic_istream< CharT, Traits > &` ``local_date_time` &` input operator for local_date_time
std::basic_ostream< CharT, TraitsT > & `std::basic_ostream< CharT, TraitsT > &` `const boost::local_time::local_time_period &` output operator for local_time_period
std::basic_istream< CharT, Traits > & `std::basic_istream< CharT, Traits > &` `boost::local_time::local_time_period &` input operator for local_time_period
boost::date_time::period< `local_date_time`, boost::posix_time::time_duration >
date_time::time_itr< `local_date_time` >
date_time::second_clock< `local_date_time` >
date_time::microsec_clock< `local_date_time` >
date_time::time_zone_base< posix_time::ptime, char >
date_time::time_zone_base< posix_time::ptime, wchar_t >
Shared Pointer for custom_time_zone and posix_time_zone objects.
boost::shared_ptr< time_zone >
boost::shared_ptr< wtime_zone >
date_time::time_zone_names_base< char >
date_time::time_zone_names_base< wchar_t >
out_of_range
simple exception for UTC daylight savings adjustment
std::string const &
std::string()
out_of_range
simple exception for UTC and Daylight savings start/end offsets
std::string const &
std::string()
date_time::time_zone_base< posix_time::ptime, CharT >
A time zone class constructed from a POSIX time zone string.

A POSIX time zone string takes the form of: "std offset dst [offset],start[/time],end[/time]" (w/no spaces) 'std' specifies the abbrev of the time zone. 'offset' is the offset from UTC. 'dst' specifies the abbrev of the time zone during daylight savings time. The second offset is how many hours changed during DST. Default=1 'start' and'end' are the dates when DST goes into (and out of) effect. 'offset' takes the form of: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59} 'time' and 'offset' take the same form. Time defaults=02:00:00 'start' and 'end' can be one of three forms: Mm.w.d {month=1-12, week=1-5 (5 is always last), day=0-6} Jn {n=1-365 Feb29 is never counted} n {n=0-365 Feb29 is counted in leap years} Example "PST-5PDT01:00:00,M4.1.0/02:00:00,M10.1.0/02:00:00" Exceptions will be thrown under these conditions: An invalid date spec (see date class) A `boost::local_time::bad_offset` exception will be thrown for: A DST start or end offset that is negative or more than 24 hours A UTC zone that is greater than +14 or less than -12 hours A `boost::local_time::bad_adjustment` exception will be thrown for: A DST adjustment that is 24 hours or more (positive or negative)

Note that UTC zone offsets can be greater than +12: http://www.worldtimezone.com/utc/utc+1200.html

boost::posix_time::time_duration
date_time::time_zone_names_base< CharT >
date_time::time_zone_base< posix_time::ptime, CharT >
base_type::string_type
CharT
base_type::stringstream_type
boost::char_separator< char_type, std::char_traits< char_type > >
boost::tokenizer< char_separator_type, typename string_type::const_iterator, string_type >
tokenizer_type::iterator
string_type String for the zone when not in daylight savings (eg: EST)
string_type String for the timezone when in daylight savings (eg: EDT)

For those time zones that have no DST, an empty string is used

string_type String for the zone when not in daylight savings (eg: Eastern Standard Time)

The full STD name is not extracted from the posix time zone string. Therefore, the STD abbreviation is used in it's place

string_type String for the timezone when in daylight savings (eg: Eastern Daylight Time)

The full DST name is not extracted from the posix time zone string. Therefore, the STD abbreviation is used in it's place. For time zones that have no DST, an empty string is used

bool True if zone uses daylight savings adjustments otherwise false.
posix_time::ptime `gregorian::greg_year` Local time that DST starts – NADT if has_dst is false.
posix_time::ptime `gregorian::greg_year` Local time that DST ends – NADT if has_dst is false.
time_duration_type Base offset from UTC for zone (eg: -07:30:00)
time_duration_type Adjustment forward or back made while DST is in effect.
string_type Returns a POSIX time_zone string for this object.
const string_type &
Construct from a POSIX time zone string.
void `const string_type &`

Extract time zone abbreviations for STD & DST as well as the offsets for the time shift that occurs and how much of a shift. At this time full time zone names are NOT extracted so the abbreviations are used in their place

void `const string_type &` `const string_type &`
void `const string_type &` `const string_type &`
void `const string_type &` `const string_type &` Julian day. Feb29 is never counted, even in leap years.
void `const string_type &` `const string_type &` Julian day. Feb29 is always counted, but exception thrown in non-leap years.
std::string `const time_duration_type &` helper function used when throwing exceptions
boost::date_time::dst_adjustment_offsets< boost::posix_time::time_duration >
`posix_time_zone_base`< char >
Object populated with boost::shared_ptr<time_zone_base> objects.

Object populated with boost::shared_ptr<time_zone_base> objects Database is populated from specs stored in external csv file. See date_time::tz_db_base for greater detail

date_time::tz_db_base< `custom_time_zone`, nth_kday_dst_rule >