| Home | Libraries | People | FAQ | More

## Class template custom_time_zone_base

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

## Synopsis

    // 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 >
    {
    public:
      // 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 >);
      ~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;
    };

## Description

### `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.     ~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.