Struct icu_datetime::fields::components::Bag
source · #[non_exhaustive]pub struct Bag {
pub era: Option<Text>,
pub year: Option<Year>,
pub month: Option<Month>,
pub week: Option<Week>,
pub day: Option<Day>,
pub weekday: Option<Text>,
pub hour: Option<Numeric>,
pub minute: Option<Numeric>,
pub second: Option<Numeric>,
pub fractional_second: Option<FractionalSecondDigits>,
pub time_zone_name: Option<TimeZoneName>,
pub hour_cycle: Option<HourCycle>,
}
Expand description
See the module-level docs for more information.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.era: Option<Text>
Include the era, such as “AD” or “CE”.
year: Option<Year>
Include the year, such as “1970” or “70”.
month: Option<Month>
Include the month, such as “April” or “Apr”.
week: Option<Week>
Include the week number, such as “51st” or “51” for week 51.
day: Option<Day>
Include the day of the month/year, such as “07” or “7”.
weekday: Option<Text>
Include the weekday, such as “Wednesday” or “Wed”.
hour: Option<Numeric>
Include the hour such as “2” or “14”.
minute: Option<Numeric>
Include the minute such as “3” or “03”.
second: Option<Numeric>
Include the second such as “3” or “03”.
fractional_second: Option<FractionalSecondDigits>
Specify the number of fractional second digits such as 1 (“.3”) or 3 (“.003”).
time_zone_name: Option<TimeZoneName>
Include the time zone, such as “GMT+05:00”.
hour_cycle: Option<HourCycle>
An override of the hour cycle.
Implementations§
source§impl Bag
impl Bag
sourcepub fn empty() -> Self
pub fn empty() -> Self
Creates an empty components bag
Has the same behavior as the Default
implementation on this type.
sourcepub fn merge(self, other: Self) -> Self
pub fn merge(self, other: Self) -> Self
Merges the fields of other into self if non-None. If both fields are set, other
is kept.
sourcepub fn to_vec_fields(&self, default_hour_cycle: HourCycle) -> Vec<Field>
pub fn to_vec_fields(&self, default_hour_cycle: HourCycle) -> Vec<Field>
Converts the components::Bag into a Vec<Field>
. The fields will be ordered in from most
significant field to least significant. This is the order the fields are listed in
the UTS 35 table - https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
Arguments:
default_hour_cycle
specifies the hour cycle to use for the hour field if not in the Bag.preferences::Bag::hour_cycle
takes precedence over this argument.
Trait Implementations§
source§impl From<&DateTimePattern> for Bag
impl From<&DateTimePattern> for Bag
source§fn from(value: &DateTimePattern) -> Self
fn from(value: &DateTimePattern) -> Self
source§impl From<&PatternPlurals<'_>> for Bag
impl From<&PatternPlurals<'_>> for Bag
Get the resolved components for a FixedCalendarDateTimeFormatter, via the PatternPlurals. In the case of
plurals resolve off of the required other
pattern.
source§fn from(other: &PatternPlurals<'_>) -> Self
fn from(other: &PatternPlurals<'_>) -> Self
impl Copy for Bag
impl Eq for Bag
impl StructuralPartialEq for Bag
Auto Trait Implementations§
impl Freeze for Bag
impl RefUnwindSafe for Bag
impl Send for Bag
impl Sync for Bag
impl Unpin for Bag
impl UnwindSafe for Bag
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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>
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>
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