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 years_duration

boost::date_time::years_duration — additional duration type that represents a logical year


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

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

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


A logical year enables things like: "date(2002,Mar,2) + years(2) -> 2004-Mar-2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month (ie date(2001-Feb-28) + years(3) -> 2004-Feb-29).

years_duration public construct/copy/destruct

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

years_duration public member functions

  1. int_rep number_of_years() 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 years_type & rhs) const;
  5. bool operator!=(const years_type & rhs) const;
  6. years_type operator+(const years_type & rhs) const;
  7. years_type & operator+=(const years_type & rhs);
  8. years_type operator-(const years_type & rhs) const;
  9. years_type & operator-=(const years_type & rhs);
  10. years_type operator*(const int_type rhs) const;
  11. years_type & operator*=(const int_type rhs);
  12. years_type operator/(const int_type rhs) const;
  13. years_type & operator/=(const int_type rhs);
  14. months_type operator+(const months_type & m) const;
  15. months_type operator-(const months_type & m) const;