pub enum Month {
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December,
}
Expand description
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
sourceimpl Month
impl Month
sourcepub fn succ(&self) -> Month
pub fn succ(&self) -> Month
The next month.
m : | January | February | ... | December |
---|---|---|---|---|
m.succ() : | February | March | ... | January |
sourcepub fn pred(&self) -> Month
pub fn pred(&self) -> Month
The previous month.
m : | January | February | ... | December |
---|---|---|---|---|
m.succ() : | December | January | ... | November |
sourcepub fn number_from_month(&self) -> u32
pub fn number_from_month(&self) -> u32
Returns a month-of-year number starting from January = 1.
m : | January | February | ... | December |
---|---|---|---|---|
m.number_from_month() : | 1 | 2 | ... | 12 |
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Month
impl<'de> Deserialize<'de> for Month
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl FromPrimitive for Month
impl FromPrimitive for Month
sourcefn from_u64(n: u64) -> Option<Month>
fn from_u64(n: u64) -> Option<Month>
Returns an Option
Month::from_i64(n: i64)
: | 1
| 2
| … | 12
—————————| –––––––––– | ——————— | … | —–
``: | Some(Month::January) | Some(Month::February) | … | Some(Month::December)
sourcefn from_i64(n: i64) -> Option<Month>
fn from_i64(n: i64) -> Option<Month>
Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u32(n: u32) -> Option<Month>
fn from_u32(n: u32) -> Option<Month>
Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourceimpl FromStr for Month
impl FromStr for Month
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());
impl Copy for Month
impl Eq for Month
impl StructuralEq for Month
impl StructuralPartialEq for Month
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more