• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Provides a simple example of using a date_generator, and simple
2  * mathematical operatorations, to calculate the days since
3  * New Years day of this year, and days until next New Years day.
4  *
5  * Expected results:
6  * Adding together both durations will produce 365 (366 in a leap year).
7  */
8 
9 #include "boost/date_time/gregorian/gregorian.hpp"
10 #include <iostream>
11 
12 int
main()13 main()
14 {
15 
16   using namespace boost::gregorian;
17 
18   date today = day_clock::local_day();
19   partial_date new_years_day(1,Jan);
20   //Subtract two dates to get a duration
21   days days_since_year_start = today - new_years_day.get_date(today.year());
22   std::cout << "Days since Jan 1: " << days_since_year_start.days()
23             << std::endl;
24 
25   days days_until_year_start = new_years_day.get_date(today.year()+1) - today;
26   std::cout << "Days until next Jan 1: " << days_until_year_start.days()
27             << std::endl;
28   return 0;
29 }
30 
31 
32 /*  Copyright 2001-2004: CrystalClear Software, Inc
33  *  http://www.crystalclearsoftware.com
34  *
35  *  Subject to the Boost Software License, Version 1.0.
36  * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
37  */
38 
39