| Home | Libraries | People | FAQ | More

## Struct template eu_dst_trait

boost::date_time::eu_dst_trait — Rules for daylight savings start in the EU (Last Sun in Mar).

## Synopsis

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

    template<typename date_type>
    struct eu_dst_trait {
      // types
      typedef date_type::day_of_week_type                day_of_week_type;
      typedef date_type::month_type                      month_type;
      typedef date_type::year_type                       year_type;
      typedef date_time::last_kday_of_month< date_type > start_rule_functor;
      typedef date_time::last_kday_of_month< date_type > end_rule_functor;

      // public static functions
      static day_of_week_type start_day(year_type) ;
      static month_type start_month(year_type) ;
      static day_of_week_type end_day(year_type) ;
      static month_type end_month(year_type) ;
      static int dst_start_offset_minutes() ;
      static int dst_end_offset_minutes() ;
      static int dst_shift_length_minutes() ;
      static date_type local_dst_start_day(year_type) ;
      static date_type local_dst_end_day(year_type) ;
    };

## Description

These amount to the following:

- Start of dst day is last Sunday in March

- End day of dst is last Sunday in Oct

- Going forward switch time is 2:00 am (offset 120 minutes)

- Going back switch time is 3:00 am (off set 180 minutes)

- Shift duration is one hour (60 minutes)

### `eu_dst_trait` public static functions

1.     static day_of_week_type start_day(year_type) ;

2.     static month_type start_month(year_type) ;

3.     static day_of_week_type end_day(year_type) ;

4.     static month_type end_month(year_type) ;

5.     static int dst_start_offset_minutes() ;

6.     static int dst_end_offset_minutes() ;

7.     static int dst_shift_length_minutes() ;

8.     static date_type local_dst_start_day(year_type year) ;

9.     static date_type local_dst_end_day(year_type year) ;