Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Class template custom_time_zone_base

boost::local_time::custom_time_zone_base — A real time zone.


// In header: <boost/date_time/local_time/custom_time_zone.hpp>

template<typename CharT> 
class custom_time_zone_base :
  public date_time::time_zone_base< posix_time::ptime, CharT >
  // types
  typedef boost::posix_time::time_duration                      time_duration_type;
  typedef date_time::time_zone_base< posix_time::ptime, CharT > base_type;         
  typedef base_type::string_type                                string_type;       
  typedef base_type::stringstream_type                          stringstream_type; 
  typedef date_time::time_zone_names_base< CharT >              time_zone_names;   
  typedef CharT                                                 char_type;         

  // construct/copy/destruct
  custom_time_zone_base(const time_zone_names &, const time_duration_type &, 
                        const dst_adjustment_offsets &, 
                        boost::shared_ptr< dst_calc_rule >);
  virtual ~custom_time_zone_base();

  // public member functions
  virtual string_type dst_zone_abbrev() const;
  virtual string_type std_zone_abbrev() const;
  virtual string_type dst_zone_name() const;
  virtual string_type std_zone_name() const;
  virtual bool has_dst() const;
  virtual posix_time::ptime dst_local_start_time(gregorian::greg_year) const;
  virtual posix_time::ptime dst_local_end_time(gregorian::greg_year) const;
  virtual time_duration_type base_utc_offset() const;
  virtual time_duration_type dst_offset() const;
  virtual string_type to_posix_string() const;


custom_time_zone_base public construct/copy/destruct

  1. custom_time_zone_base(const time_zone_names & zone_names, 
                          const time_duration_type & utc_offset, 
                          const dst_adjustment_offsets & dst_shift, 
                          boost::shared_ptr< dst_calc_rule > calc_rule);
  2. virtual ~custom_time_zone_base();

custom_time_zone_base public member functions

  1. virtual string_type dst_zone_abbrev() const;
  2. virtual string_type std_zone_abbrev() const;
  3. virtual string_type dst_zone_name() const;
  4. virtual string_type std_zone_name() const;
  5. virtual bool has_dst() const;
    True if zone uses daylight savings adjustments.
  6. virtual posix_time::ptime dst_local_start_time(gregorian::greg_year y) const;
    Local time that DST starts – NADT if has_dst is false.
  7. virtual posix_time::ptime dst_local_end_time(gregorian::greg_year y) const;
    Local time that DST ends – NADT if has_dst is false.
  8. virtual time_duration_type base_utc_offset() const;
    Base offset from UTC for zone (eg: -07:30:00)
  9. virtual time_duration_type dst_offset() const;
    Adjustment forward or back made while DST is in effect.
  10. virtual string_type to_posix_string() const;
    Returns a POSIX time_zone string for this object.