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
-
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 |
|
-
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 |
|
-
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 |
|
-
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 |
|