1 /* A simple example for creating various dst_calc_rule instances
4 #include "boost/date_time/gregorian/gregorian.hpp"
5 #include "boost/date_time/local_time/local_time.hpp"
11 using namespace boost
;
12 using namespace local_time
;
13 using namespace gregorian
;
15 /***** create the necessary date_generator objects *****/
16 // starting generators
17 first_day_of_the_week_in_month
fd_start(Sunday
, May
);
18 last_day_of_the_week_in_month
ld_start(Sunday
, May
);
19 nth_day_of_the_week_in_month
nkd_start(nth_day_of_the_week_in_month::third
,
21 partial_date
pd_start(1, May
);
23 first_day_of_the_week_in_month
fd_end(Sunday
, Oct
);
24 last_day_of_the_week_in_month
ld_end(Sunday
, Oct
);
25 nth_day_of_the_week_in_month
nkd_end(nth_day_of_the_week_in_month::third
,
27 partial_date
pd_end(31, Oct
);
29 /***** create the various dst_calc_rule objects *****/
30 dst_calc_rule_ptr
pdr(new partial_date_dst_rule(pd_start
, pd_end
));
31 dst_calc_rule_ptr
flr(new first_last_dst_rule(fd_start
, ld_end
));
32 dst_calc_rule_ptr
llr(new last_last_dst_rule(ld_start
, ld_end
));
33 dst_calc_rule_ptr
nlr(new nth_last_dst_rule(nkd_start
, ld_end
));
34 dst_calc_rule_ptr
ndr(new nth_day_of_the_week_in_month_dst_rule(nkd_start
, nkd_end
));
36 std::cout
<< "Program run successfully" << std::endl
;
41 /* Copyright 2001-2005: CrystalClear Software, Inc
42 * http://www.crystalclearsoftware.com
44 * Subject to the Boost Software License, Version 1.0.
45 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)