Enum serde_with::chrono::Month
source · pub enum Month {
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December,
}chrono only.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.with_ymd_and_hms(2019, 10, 28, 9, 10, 11).unwrap();
// `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.with_ymd_and_hms(2019, month.number_from_month(), 28, 9, 10, 11).unwrap();
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§
source§impl 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.pred(): | 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§
source§impl<'de> Deserialize<'de> for Month
impl<'de> Deserialize<'de> for Month
source§fn deserialize<D>(
deserializer: D
) -> Result<Month, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<Month, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
source§impl FromPrimitive for Month
impl FromPrimitive for Month
source§fn from_u64(n: u64) -> Option<Month>
fn from_u64(n: u64) -> Option<Month>
Returns an Option<Month> 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)
source§fn from_i64(n: i64) -> Option<Month>
fn from_i64(n: i64) -> Option<Month>
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u32(n: u32) -> Option<Month>
fn from_u32(n: u32) -> Option<Month>
u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§impl 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());source§impl PartialEq<Month> for Month
impl PartialEq<Month> for Month
source§impl Serialize for Month
impl Serialize for Month
source§fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.