pub struct MonthCode(pub TinyAsciiStr<4>);
Expand description
Representation of a month in a year
Month codes typically look like M01
, M02
, etc, but can handle leap months
(M03L
) in lunar calendars. Solar calendars will have codes between M01
and M12
potentially with an M13
for epagomenal months. Check the docs for a particular calendar
for details on what its month codes are.
Month codes are shared with Temporal, see Temporal proposal.
Tuple Fields§
§0: TinyAsciiStr<4>
Implementations§
Source§impl MonthCode
impl MonthCode
Sourcepub fn get_normal_if_leap(self) -> Option<MonthCode>
pub fn get_normal_if_leap(self) -> Option<MonthCode>
Sourcepub fn parsed(self) -> Option<(u8, bool)>
pub fn parsed(self) -> Option<(u8, bool)>
Get the month number and whether or not it is leap from the month code
Sourcepub fn new_normal(number: u8) -> Option<MonthCode>
pub fn new_normal(number: u8) -> Option<MonthCode>
Construct a “normal” month code given a number (“Mxx”).
Returns an error for months greater than 99
Trait Implementations§
Source§impl AsULE for MonthCode
impl AsULE for MonthCode
Source§type ULE = TinyAsciiStr<4>
type ULE = TinyAsciiStr<4>
The ULE type corresponding to
Self
. Read moreSource§fn to_unaligned(self) -> TinyAsciiStr<4>
fn to_unaligned(self) -> TinyAsciiStr<4>
Source§fn from_unaligned(u: TinyAsciiStr<4>) -> MonthCode
fn from_unaligned(u: TinyAsciiStr<4>) -> MonthCode
Source§impl<'de> Deserialize<'de> for MonthCode
impl<'de> Deserialize<'de> for MonthCode
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MonthCode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MonthCode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for MonthCode
impl Ord for MonthCode
Source§impl PartialOrd for MonthCode
impl PartialOrd for MonthCode
Source§impl<'a> ZeroMapKV<'a> for MonthCode
impl<'a> ZeroMapKV<'a> for MonthCode
impl Copy for MonthCode
impl Eq for MonthCode
impl StructuralPartialEq for MonthCode
Auto Trait Implementations§
impl Freeze for MonthCode
impl RefUnwindSafe for MonthCode
impl Send for MonthCode
impl Sync for MonthCode
impl Unpin for MonthCode
impl UnwindSafe for MonthCode
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more