days_between_new_years.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. #include "boost/date_time/gregorian/gregorian.hpp"
  9. #include <iostream>
  10. int
  11. main()
  12. {
  13. using namespace boost::gregorian;
  14. date today = day_clock::local_day();
  15. partial_date new_years_day(1,Jan);
  16. //Subtract two dates to get a duration
  17. days days_since_year_start = today - new_years_day.get_date(today.year());
  18. std::cout << "Days since Jan 1: " << days_since_year_start.days()
  19. << std::endl;
  20. days days_until_year_start = new_years_day.get_date(today.year()+1) - today;
  21. std::cout << "Days until next Jan 1: " << days_until_year_start.days()
  22. << std::endl;
  23. return 0;
  24. }
  25. /* Copyright 2001-2004: CrystalClear Software, Inc
  26. * http://www.crystalclearsoftware.com
  27. *
  28. * Subject to the Boost Software License, Version 1.0.
  29. * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
  30. */