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.