Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Class template months_duration

boost::date_time::months_duration — additional duration type that represents a logical month


// In header: <boost/date_time/date_duration_types.hpp>

template<typename base_config> 
class months_duration {
  // construct/copy/destruct

  // public member functions
  int_rep number_of_months() const;
  duration_type get_neg_offset(const date_type &) const;
  duration_type get_offset(const date_type &) const;
  bool operator==(const months_type &) const;
  bool operator!=(const months_type &) const;
  months_type operator+(const months_type &) const;
  months_type & operator+=(const months_type &);
  months_type operator-(const months_type &) const;
  months_type & operator-=(const months_type &);
  months_type operator *(const int_type) const;
  months_type & operator *=(const int_type);
  months_type operator/(const int_type) const;
  months_type & operator/=(const int_type);
  months_type operator+(const years_type &) const;
  months_type & operator+=(const years_type &);
  months_type operator-(const years_type &) const;
  months_type & operator-=(const years_type &);


A logical month enables things like: "date(2002,Mar,2) + months(2) -> 2002-May2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month.

months_duration public construct/copy/destruct

  1. months_duration(int_rep num);
  2. months_duration(special_values sv);

months_duration public member functions

  1. int_rep number_of_months() const;
  2. duration_type get_neg_offset(const date_type & d) const;
    returns a negative duration
  3. duration_type get_offset(const date_type & d) const;
  4. bool operator==(const months_type & rhs) const;
  5. bool operator!=(const months_type & rhs) const;
  6. months_type operator+(const months_type & rhs) const;
  7. months_type & operator+=(const months_type & rhs);
  8. months_type operator-(const months_type & rhs) const;
  9. months_type & operator-=(const months_type & rhs);
  10. months_type operator *(const int_type rhs) const;
  11. months_type & operator *=(const int_type rhs);
  12. months_type operator/(const int_type rhs) const;
  13. months_type & operator/=(const int_type rhs);
  14. months_type operator+(const years_type & y) const;
  15. months_type & operator+=(const years_type & y);
  16. months_type operator-(const years_type & y) const;
  17. months_type & operator-=(const years_type & y);