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

Click here to view the latest version of this page.
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
static time_is_dst_result 
process_local_dst_start_day(const time_duration_type &, unsigned int, long) ;
static time_is_dst_result 
process_local_dst_end_day(const time_duration_type &, unsigned int, long) ;
static time_is_dst_result 
local_is_dst(const date_type &, const time_duration_type &, 
const date_type &, const time_duration_type &, 
const date_type &, const time_duration_type &, 
const time_duration_type &) ;
static 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. static 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) ;

    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. static 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) ;

    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. static 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, 
    const time_duration_type & dst_start_offset, 
    const date_type & dst_end_day, 
    const time_duration_type & dst_end_offset, 
    const time_duration_type & dst_length_minutes) ;

    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

    Time offset within day given in dst for dst boundary

    dst_start_day

    Starting day of dst for the given locality

    dst_start_offset

    Time offset within day for dst boundary

    time_of_day

    Time offset within the day to check

  4. static 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) ;

    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-2005 CrystalClear Software, Inc

PrevUpHomeNext