| Home | Libraries | People | FAQ | More

## Class template months_duration

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

## Synopsis

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

    template<typename base_config>
    class months_duration {
    public:
      // construct/copy/destruct
      months_duration(int_rep);
      months_duration(special_values);

      // 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 &) ;
    };

## Description

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) ;