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()13main() 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