Boost C++ Libraries

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

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Class template dst_calculator

boost::date_time::dst_calculator —

Dynamic class used to caluclate dst transition information.

Synopsis

template<typename date_type_, typename time_duration_type_> 
class dst_calculator {
public:
  // types
  typedef time_duration_type_ time_duration_type;
  typedef date_type_          date_type;         

  // public static functions
  time_is_dst_result 
  process_local_dst_start_day(const time_duration_type &, unsigned int, long) ;
  time_is_dst_result 
  process_local_dst_end_day(const time_duration_type &, unsigned int, long) ;
  time_is_dst_result 
  local_is_dst(const date_type &, const time_duration_type &, 
               const date_type &, unsigned int, const date_type &, 
               unsigned int, long) ;
};

Description

dst_calculator public static functions

  1. time_is_dst_result 
    process_local_dst_start_day(const time_duration_type & time_of_day, 
                                unsigned int dst_start_offset_minutes, 
                                long dst_length_minutes) ;

    Check the local time offset when on dst start day.

    On this dst transition, the time label between the transition boundary and the boudary + the offset are invalid times. If before the boundary then still not in dst.

    Parameters

    dst_length_minutes

    Number of minutes to adjust clock forward

    dst_start_offset_minutes

    Local day offset for start of dst

    time_of_day

    Time offset in the day for the local time

  2. time_is_dst_result 
    process_local_dst_end_day(const time_duration_type & time_of_day, 
                              unsigned int dst_end_offset_minutes, 
                              long dst_length_minutes) ;

    Check the local time offset when on the last day of dst.

    This is the calculation for the DST end day. On that day times prior to the conversion time - dst_length (1 am in US) are still in dst. Times between the above and the switch time are ambiguous. Times after the start_offset are not in dst.

    Parameters

    dst_end_offset_minutes

    Local time of day for end of dst

    time_of_day

    Time offset in the day for the local time

  3. time_is_dst_result 
    local_is_dst(const date_type & current_day, 
                 const time_duration_type & time_of_day, 
                 const date_type & dst_start_day, 
                 unsigned int dst_start_offset_minutes, 
                 const date_type & dst_end_day, 
                 unsigned int dst_end_offset_minutes, long dst_length_minutes) ;

    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.

    Parameters

    current_day

    The day to check for dst

    dst_end_day

    Ending day of dst for the given locality

    dst_end_offset_minutes

    Offset within day given in dst for dst boundary (eg 120 for US which is 02:00:00)

    dst_length_minutes

    Length of dst adjusment (eg: 60 for US)

    dst_start_day

    Starting day of dst for the given locality

    dst_start_offset_minutes

    Offset within day for dst boundary (eg 120 for US which is 02:00:00)

    time_of_day

    Time offset within the day to check

Copyright © 2001-2004 CrystalClear Software, Inc

PrevUpHomeNext