12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
- "../../../tools/boostbook/dtd/boostbook.dtd">
- <!-- Copyright (c) 2001-2004 CrystalClear Software, Inc.
- Subject to the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- -->
- <section id="date_time.examples.days_between_new_year">
- <title>Days Between New Years</title>
- <para>
- Calculate the number of days till new years
- </para>
- <programlisting>
- <![CDATA[
- /* Provides a simple example of using a date_generator, and simple
- * mathematical operatorations, to calculate the days since
- * New Years day of this year, and days until next New Years day.
- *
- * Expected results:
- * Adding together both durations will produce 366 (365 in a leap year).
- */
- #include <iostream>
- #include "boost/date_time/gregorian/gregorian.hpp"
- int
- main()
- {
-
- using namespace boost::gregorian;
- date today = day_clock::local_day();
- partial_date new_years_day(1,Jan);
- //Subtract two dates to get a duration
- days days_since_year_start = today - new_years_day.get_date(today.year());
- std::cout << "Days since Jan 1: " << days_since_year_start.days()
- << std::endl;
-
- days days_until_year_start = new_years_day.get_date(today.year()+1) - today;
- std::cout << "Days until next Jan 1: " << days_until_year_start.days()
- << std::endl;
- return 0;
- };
- ]]>
- </programlisting>
- </section>
|