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 us_dst_rules

boost::date_time::us_dst_rules — Depricated: Class to calculate dst boundaries for US time zones.


// In header: <boost/date_time/dst_rules.hpp>

template<typename date_type_, typename time_duration_type_, 
         unsigned int dst_start_offset_minutes = 120, 
         short dst_length_minutes = 60> 
class us_dst_rules {
  // types
  typedef time_duration_type_                             time_duration_type;
  typedef date_type_                                      date_type;         
  typedef date_type::year_type                            year_type;         
  typedef date_type::calendar_type                        calendar_type;     
  typedef date_time::last_kday_of_month< date_type >      lkday;             
  typedef date_time::first_kday_of_month< date_type >     fkday;             
  typedef date_time::nth_kday_of_month< date_type >       nkday;             
  typedef dst_calculator< date_type, time_duration_type > dstcalc;           

  // public static functions
  static time_is_dst_result 
  local_is_dst(const date_type &, const time_duration_type &);
  static bool is_dst_boundary_day(date_type);
  static date_type local_dst_start_day(year_type);
  static date_type local_dst_end_day(year_type);
  static time_duration_type dst_offset();


us_dst_rules public static functions

  1. static time_is_dst_result 
    local_is_dst(const date_type & d, const time_duration_type & td);
    Calculates if the given local time is dst or not.

    Determines if the time is really in DST or not. Also checks for invalid and ambiguous.

  2. static bool is_dst_boundary_day(date_type d);
  3. static date_type local_dst_start_day(year_type year);
  4. static date_type local_dst_end_day(year_type year);
  5. static time_duration_type dst_offset();