Class template local_date_time_baseboost::local_time::local_date_time_base — Representation of "wall-clock" time in a particular time zone. Synopsistemplate<typename utc_time_ = posix_time::ptime, typename tz_type = date_time::time_zone_base<utc_time_,char> > class local_date_time_base { public: // types typedef utc_time_ utc_time_type; typedef utc_time_type::time_duration_type time_duration_type; typedef utc_time_type::date_type date_type; typedef date_type::duration_type date_duration_type; typedef utc_time_type::time_system_type time_system_type; enum DST_CALC_OPTIONS { EXCEPTION_ON_ERROR, NOT_DATE_TIME_ON_ERROR }; // construct/copy/destruct local_date_time_base(utc_time_type, boost::shared_ptr< tz_type >); local_date_time_base(date_type, time_duration_type, boost::shared_ptr< tz_type >, bool); local_date_time_base(date_type, time_duration_type, boost::shared_ptr< tz_type >, DST_CALC_OPTIONS); local_date_time_base(const local_date_time_base &); local_date_time_base(const boost::date_time::special_values, boost::shared_ptr< tz_type > = boost::shared_ptr< tz_type >()); ~local_date_time_base(); // public member functions boost::shared_ptr< tz_type > zone() const; bool is_dst() const; utc_time_type utc_time() const; utc_time_type local_time() const; std::string to_string() const; local_date_time_base local_time_in(boost::shared_ptr< tz_type >, time_duration_type = time_duration_type(0, 0, 0)) const; std::string zone_name(bool = false) const; std::string zone_abbrev(bool = false) const; std::string zone_as_posix_string() const; bool operator==(const local_date_time_base &) const; bool operator!=(const local_date_time_base &) const; bool operator<(const local_date_time_base &) const; bool operator<=(const local_date_time_base &) const; bool operator>(const local_date_time_base &) const; bool operator>=(const local_date_time_base &) const; local_date_time_base operator+(const date_duration_type &) const; local_date_time_base operator+=(const date_duration_type &) ; local_date_time_base operator-(const date_duration_type &) const; local_date_time_base operator-=(const date_duration_type &) ; local_date_time_base operator+(const time_duration_type &) const; local_date_time_base operator+=(const time_duration_type &) ; local_date_time_base operator-(const time_duration_type &) const; local_date_time_base operator-=(const time_duration_type &) ; time_duration_type operator-(const local_date_time_base &) const; // public static functions static time_is_dst_result check_dst(date_type, time_duration_type, boost::shared_ptr< tz_type >) ; // private member functions utc_time_type construction_adjustment(utc_time_type, boost::shared_ptr< tz_type >, bool) ; std::string zone_as_offset(const time_duration_type &, const std::string &) const; }; DescriptionRepresentation 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>.
|
Parameters: |
|
local_date_time_base(date_type d, time_duration_type td, boost::shared_ptr< tz_type > tz, bool dst_flag);
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.
Throws: |
-- |
local_date_time_base(date_type d, time_duration_type td, boost::shared_ptr< tz_type > tz, DST_CALC_OPTIONS calc_option);
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.
local_date_time_base(const local_date_time_base & rhs);
local_date_time_base(const boost::date_time::special_values sv, boost::shared_ptr< tz_type > tz = boost::shared_ptr< tz_type >());
~local_date_time_base();
local_date_time_base
public member functionsboost::shared_ptr< tz_type > zone() const;
bool is_dst() const;
utc_time_type utc_time() const;
utc_time_type local_time() const;
std::string to_string() const;
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 local_time_in(boost::shared_ptr< tz_type > new_tz, time_duration_type td = time_duration_type(0, 0, 0)) const;
returns a local_date_time_base in the given time zone with the optional time_duration added.
std::string zone_name(bool as_offset = false) const;
Optional bool parameter will return time zone as an offset (ie "+07:00" extended iso format). Empty string is returned for classes that do not use a time_zone
std::string zone_abbrev(bool as_offset = false) const;
Optional bool parameter will return time zone as an offset (ie "+0700" iso format). Empty string is returned for classes that do not use a time_zone
std::string zone_as_posix_string() const;
bool operator==(const local_date_time_base & rhs) const;
Equality comparison operator
bool operator!=(const local_date_time_base & rhs) const;
bool operator<(const local_date_time_base & rhs) const;
bool operator<=(const local_date_time_base & rhs) const;
bool operator>(const local_date_time_base & rhs) const;
bool operator>=(const local_date_time_base & rhs) const;
local_date_time_base operator+(const date_duration_type & dd) const;
local_date_time_base operator+=(const date_duration_type & dd) ;
local_date_time_base operator-(const date_duration_type & dd) const;
local_date_time_base operator-=(const date_duration_type & dd) ;
local_date_time_base operator+(const time_duration_type & td) const;
local_date_time_base operator+=(const time_duration_type & td) ;
local_date_time_base operator-(const time_duration_type & td) const;
local_date_time_base operator-=(const time_duration_type & td) ;
time_duration_type operator-(const local_date_time_base & rhs) const;
local_date_time_base
public static functionsstatic time_is_dst_result check_dst(date_type d, time_duration_type td, boost::shared_ptr< tz_type > tz) ;
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.