<?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.month_add"> 
  <title>Month Adding</title>

  <para> 
    Adding a month to a day without the use of iterators.
  </para>
  <programlisting>
    <![CDATA[
  /* Simple program that uses the gregorian calendar to progress by exactly
   * one month, irregardless of how many days are in that month.
   *
   * This method can be used as an alternative to iterators
   */

  #include "boost/date_time/gregorian/gregorian.hpp"
  #include <iostream>

  int
  main()
  {

    using namespace boost::gregorian;

    date d = day_clock::local_day();
    add_month mf(1);
    date d2 = d + mf.get_offset(d);
    std::cout << "Today is: " << to_simple_string(d) << ".\n"
      << "One month from today will be: " << to_simple_string(d2) 
      << std::endl;

    return 0;
  }
    ]]>
  </programlisting>
</section>
