#[non_exhaustive]pub enum Numeric {
Show 21 variants
Year,
YearDiv100,
YearMod100,
IsoYear,
IsoYearDiv100,
IsoYearMod100,
Month,
Day,
WeekFromSun,
WeekFromMon,
IsoWeek,
NumDaysFromSun,
WeekdayFromMon,
Ordinal,
Hour,
Hour12,
Minute,
Second,
Nanosecond,
Timestamp,
Internal(InternalNumeric),
}
Expand description
Numeric item types. They have associated formatting width (FW) and parsing width (PW).
The formatting width is the minimal width to be formatted.
If the number is too short, and the padding is not Pad::None
,
then it is left-padded.
If the number is too long or (in some cases) negative, it is printed as is.
The parsing width is the maximal width to be scanned. The parser only tries to consume from one to given number of digits (greedily). It also trims the preceding whitespace if any. It cannot parse the negative number, so some date and time cannot be formatted then parsed with the same formatting items.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Year
Full Gregorian year (FW=4, PW=∞). May accept years before 1 BCE or after 9999 CE, given an initial sign (+/-).
YearDiv100
Gregorian year divided by 100 (century number; FW=PW=2). Implies the non-negative year.
YearMod100
Gregorian year modulo 100 (FW=PW=2). Cannot be negative.
IsoYear
Year in the ISO week date (FW=4, PW=∞). May accept years before 1 BCE or after 9999 CE, given an initial sign.
IsoYearDiv100
Year in the ISO week date, divided by 100 (FW=PW=2). Implies the non-negative year.
IsoYearMod100
Year in the ISO week date, modulo 100 (FW=PW=2). Cannot be negative.
Month
Month (FW=PW=2).
Day
Day of the month (FW=PW=2).
WeekFromSun
Week number, where the week 1 starts at the first Sunday of January (FW=PW=2).
WeekFromMon
Week number, where the week 1 starts at the first Monday of January (FW=PW=2).
IsoWeek
Week number in the ISO week date (FW=PW=2).
NumDaysFromSun
Day of the week, where Sunday = 0 and Saturday = 6 (FW=PW=1).
WeekdayFromMon
Day of the week, where Monday = 1 and Sunday = 7 (FW=PW=1).
Ordinal
Day of the year (FW=PW=3).
Hour
Hour number in the 24-hour clocks (FW=PW=2).
Hour12
Hour number in the 12-hour clocks (FW=PW=2).
Minute
The number of minutes since the last whole hour (FW=PW=2).
Second
The number of seconds since the last whole minute (FW=PW=2).
Nanosecond
The number of nanoseconds since the last whole second (FW=PW=9).
Note that this is not left-aligned;
see also Fixed::Nanosecond
.
Timestamp
The number of non-leap seconds since the midnight UTC on January 1, 1970 (FW=1, PW=∞). For formatting, it assumes UTC upon the absence of time zone offset.
Internal(InternalNumeric)
Internal uses only.
This item exists so that one can add additional internal-only formatting without breaking major compatibility (as enum variants cannot be selectively private).
Trait Implementations§
impl Eq for Numeric
impl StructuralPartialEq for Numeric
Auto Trait Implementations§
impl Freeze for Numeric
impl RefUnwindSafe for Numeric
impl Send for Numeric
impl Sync for Numeric
impl Unpin for Numeric
impl UnwindSafe for Numeric
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Year
: 0 bytesYearDiv100
: 0 bytesYearMod100
: 0 bytesIsoYear
: 0 bytesIsoYearDiv100
: 0 bytesIsoYearMod100
: 0 bytesMonth
: 0 bytesDay
: 0 bytesWeekFromSun
: 0 bytesWeekFromMon
: 0 bytesIsoWeek
: 0 bytesNumDaysFromSun
: 0 bytesWeekdayFromMon
: 0 bytesOrdinal
: 0 bytesHour
: 0 bytesHour12
: 0 bytesMinute
: 0 bytesSecond
: 0 bytesNanosecond
: 0 bytesTimestamp
: 0 bytesInternal
: 0 bytes (uninhabited)