Enum chrono::Month[][src]

pub enum Month {
    January,
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December,
}

The month of the year.

This enum is just a convenience implementation. The month in dates created by DateLike objects does not return this enum.

It is possible to convert from a date to a month independently

use num_traits::FromPrimitive;
use chrono::prelude::*;
let date = Utc.ymd(2019, 10, 28).and_hms(9, 10, 11);
// `2019-10-28T09:10:11Z`
let month = Month::from_u32(date.month());
assert_eq!(month, Some(Month::October))

Or from a Month to an integer usable by dates

let month = Month::January;
let dt = Utc.ymd(2019, month.number_from_month(), 28).and_hms(9, 10, 11);
assert_eq!((dt.year(), dt.month(), dt.day()), (2019, 1, 28));

Allows mapping from and to month, from 1-January to 12-December. Can be Serialized/Deserialized with serde

Variants

January

January

February

February

March

March

April

April

May

May

June

June

July

July

August

August

September

September

October

October

November

November

December

December

Implementations

impl Month[src]

pub fn succ(&self) -> Month[src]

The next month.

m:JanuaryFebruary...December
m.succ():FebruaryMarch...January

pub fn pred(&self) -> Month[src]

The previous month.

m:JanuaryFebruary...December
m.succ():DecemberJanuary...November

pub fn number_from_month(&self) -> u32[src]

Returns a month-of-year number starting from January = 1.

m:JanuaryFebruary...December
m.number_from_month():12...12

pub fn name(&self) -> &'static str[src]

Get the name of the month

use chrono::Month;

assert_eq!(Month::January.name(), "January")

Trait Implementations

impl Clone for Month[src]

impl Copy for Month[src]

impl Debug for Month[src]

impl<'de> Deserialize<'de> for Month[src]

impl Eq for Month[src]

impl FromPrimitive for Month[src]

fn from_u64(n: u64) -> Option<Month>[src]

Returns an Option from a i64, assuming a 1-index, January = 1.

Month::from_i64(n: i64): | 1 | 2 | … | 12 —————————| –––––––––– | ——————— | … | —– ``: | Some(Month::January) | Some(Month::February) | … | Some(Month::December)

impl FromStr for Month[src]

Parsing a str into a Month uses the format %W.

Example

use chrono::Month;

assert_eq!("January".parse::<Month>(), Ok(Month::January));
assert!("any day".parse::<Month>().is_err());

The parsing is case-insensitive.

assert_eq!("fEbruARy".parse::<Month>(), Ok(Month::February));

Only the shortest form (e.g. jan) and the longest form (e.g. january) is accepted.

assert!("septem".parse::<Month>().is_err());
assert!("Augustin".parse::<Month>().is_err());

type Err = ParseMonthError

The associated error which can be returned from parsing.

impl Hash for Month[src]

impl PartialEq<Month> for Month[src]

impl Serialize for Month[src]

impl StructuralEq for Month[src]

impl StructuralPartialEq for Month[src]

Auto Trait Implementations

impl RefUnwindSafe for Month

impl Send for Month

impl Sync for Month

impl Unpin for Month

impl UnwindSafe for Month

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.