/*! Subtracts a months object from a local_date_time. Result will be same * day-of-month as local_date_time unless original day was the last day of month. * see date_time::months_duration for more details */ inline local_date_time operator-=(local_date_time& t, const boost::gregorian::months& m) { // get_neg_offset returns a negative duration, so we add return t += m.get_neg_offset(t.utc_time().date()); }
/*! Subtracts a months object and a ptime. Result will be same * day-of-month as ptime unless original day was the last day of month. * see date_time::months_duration for more details */ inline ptime operator-(const ptime& t, const boost::gregorian::months& m) { // get_neg_offset returns a negative duration, so we add return t + m.get_neg_offset(t.date()); }
/*! Adds a months object to a local_date_time. Result will be same * day-of-month as local_date_time unless original day was the last day of month. * see date_time::months_duration for more details */ inline local_date_time operator+=(local_date_time& t, const boost::gregorian::months& m) { return t += m.get_offset(t.utc_time().date()); }
/*! Subtracts a months object from a ptime. Result will be same * day-of-month as ptime unless original day was the last day of month. * see date_time::months_duration for more details */ inline ptime operator-=(ptime& t, const boost::gregorian::months& m) { return t += m.get_neg_offset(t.date()); }
/*! Adds a months object and a ptime. Result will be same * day-of-month as ptime unless original day was the last day of month. * see date_time::months_duration for more details */ inline ptime operator+(const ptime& t, const boost::gregorian::months& m) { return t + m.get_offset(t.date()); }
string ToString() { return CombineString(Name, std::to_string(IRPerYear), std::to_string(Duration.number_of_months().as_number())); }