pub struct Months(_);
Expand description
A duration in calendar months
Implementations§
Trait Implementations§
source§impl Add<Months> for NaiveDate
impl Add<Months> for NaiveDate
source§fn add(self, months: Months) -> Self::Output
fn add(self, months: Months) -> Self::Output
An addition of months to NaiveDate
clamped to valid days in resulting month.
Panics
Panics if the resulting date would be out of range.
Example
use chrono::{Duration, NaiveDate, Months};
let from_ymd = NaiveDate::from_ymd;
assert_eq!(from_ymd(2014, 1, 1) + Months::new(1), from_ymd(2014, 2, 1));
assert_eq!(from_ymd(2014, 1, 1) + Months::new(11), from_ymd(2014, 12, 1));
assert_eq!(from_ymd(2014, 1, 1) + Months::new(12), from_ymd(2015, 1, 1));
assert_eq!(from_ymd(2014, 1, 1) + Months::new(13), from_ymd(2015, 2, 1));
assert_eq!(from_ymd(2014, 1, 31) + Months::new(1), from_ymd(2014, 2, 28));
assert_eq!(from_ymd(2020, 1, 31) + Months::new(1), from_ymd(2020, 2, 29));
source§impl PartialOrd<Months> for Months
impl PartialOrd<Months> for Months
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Sub<Months> for NaiveDate
impl Sub<Months> for NaiveDate
source§fn sub(self, months: Months) -> Self::Output
fn sub(self, months: Months) -> Self::Output
A subtraction of Months from NaiveDate
clamped to valid days in resulting month.
Panics
Panics if the resulting date would be out of range.
Example
use chrono::{Duration, NaiveDate, Months};
let from_ymd = NaiveDate::from_ymd;
assert_eq!(from_ymd(2014, 1, 1) - Months::new(11), from_ymd(2013, 2, 1));
assert_eq!(from_ymd(2014, 1, 1) - Months::new(12), from_ymd(2013, 1, 1));
assert_eq!(from_ymd(2014, 1, 1) - Months::new(13), from_ymd(2012, 12, 1));