Struct icu_datetime::fieldset::MDE
source · #[non_exhaustive]pub struct MDE {
pub length: NeoSkeletonLength,
pub alignment: Option<Alignment>,
}
Expand description
“Fri, May 17” ⇒ month, day, and weekday
§Examples
use icu::calendar::Date;
use icu::datetime::DateTimeFormatter;
use icu::datetime::fieldset::MDE;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = DateTimeFormatter::<MDE>::try_new(
&locale!("en").into(),
MDE::medium(),
)
.unwrap();
let dt = Date::try_new_iso(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.convert_and_format(&dt),
"Fri, May 17"
);
In FixedCalendarDateTimeFormatter
:
use icu::calendar::Date;
use icu::calendar::Gregorian;
use icu::datetime::FixedCalendarDateTimeFormatter;
use icu::datetime::fieldset::MDE;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = FixedCalendarDateTimeFormatter::<Gregorian, MDE>::try_new(
&locale!("en").into(),
MDE::medium(),
)
.unwrap();
let dt = Date::try_new_gregorian(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.format(&dt),
"Fri, May 17"
);
See CLDR-18040 for progress on improving this format.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.length: NeoSkeletonLength
The desired length of the formatted string.
See: NeoSkeletonLength
alignment: Option<Alignment>
Whether fields should be aligned for a column-like layout.
See: Alignment
Implementations§
source§impl MDE
impl MDE
sourcepub const fn with_length(length: NeoSkeletonLength) -> Self
pub const fn with_length(length: NeoSkeletonLength) -> Self
Creates a MDE skeleton with the given formatting length.
source§impl MDE
impl MDE
sourcepub const fn with_alignment(self, alignment: Alignment) -> Self
pub const fn with_alignment(self, alignment: Alignment) -> Self
Sets the alignment option.
source§impl MDE
impl MDE
sourcepub fn zone_z(self) -> Combo<Self, Zs>
pub fn zone_z(self) -> Combo<Self, Zs>
Associates this field set with a specific non-location format time zone, as in “Pacific Daylight Time”.
sourcepub fn zone_o(self) -> Combo<Self, O>
pub fn zone_o(self) -> Combo<Self, O>
Associates this field set with an offset format time zone, as in “GMT−8”.
Trait Implementations§
source§impl DateDataMarkers for MDE
impl DateDataMarkers for MDE
source§type Skel = FullDataCalMarkers
type Skel = FullDataCalMarkers
Cross-calendar data markers for date skeleta.
source§type Year = NoDataCalMarkers
type Year = NoDataCalMarkers
Cross-calendar data markers for year names.
source§type Month = FullDataCalMarkers
type Month = FullDataCalMarkers
Cross-calendar data markers for month names.
source§type WeekdayNamesV1Marker = WeekdayNamesV1Marker
type WeekdayNamesV1Marker = WeekdayNamesV1Marker
Marker for loading weekday names.
source§impl DateInputMarkers for MDE
impl DateInputMarkers for MDE
source§type MonthInput = MonthInfo
type MonthInput = MonthInfo
Marker for resolving the month input field.
source§type DayOfMonthInput = DayOfMonth
type DayOfMonthInput = DayOfMonth
Marker for resolving the day-of-month input field.
source§type DayOfYearInput = ()
type DayOfYearInput = ()
Marker for resolving the day-of-year input field.
source§type DayOfWeekInput = IsoWeekday
type DayOfWeekInput = IsoWeekday
Marker for resolving the day-of-week input field.
source§impl DateTimeMarkers for MDE
impl DateTimeMarkers for MDE
source§type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
Marker for loading the date/time glue pattern.
source§impl DateTimeNamesMarker for MDE
impl DateTimeNamesMarker for MDE
type YearNames = ()
type MonthNames = MonthNamesV1Marker
type WeekdayNames = WeekdayNamesV1Marker
type DayPeriodNames = ()
type ZoneEssentials = ()
type ZoneLocations = ()
type ZoneGenericLong = ()
type ZoneGenericShort = ()
type ZoneSpecificLong = ()
type ZoneSpecificShort = ()
type MetazoneLookup = ()
source§impl GetField<CompositeFieldSet> for MDE
impl GetField<CompositeFieldSet> for MDE
source§fn get_field(&self) -> CompositeFieldSet
fn get_field(&self) -> CompositeFieldSet
Returns the value of this trait’s field
T
.source§impl<C: CldrCalendar> TypedDateDataMarkers<C> for MDE
impl<C: CldrCalendar> TypedDateDataMarkers<C> for MDE
source§type DateSkeletonPatternsV1Marker = <C as CldrCalendar>::SkeletaV1Marker
type DateSkeletonPatternsV1Marker = <C as CldrCalendar>::SkeletaV1Marker
Marker for loading date skeleton patterns.
source§type YearNamesV1Marker = NeverMarker<YearNamesV1<'static>>
type YearNamesV1Marker = NeverMarker<YearNamesV1<'static>>
Marker for loading year names.
source§type MonthNamesV1Marker = <C as CldrCalendar>::MonthNamesV1Marker
type MonthNamesV1Marker = <C as CldrCalendar>::MonthNamesV1Marker
Marker for loading month names.
source§type WeekdayNamesV1Marker = WeekdayNamesV1Marker
type WeekdayNamesV1Marker = WeekdayNamesV1Marker
Marker for loading weekday names.
impl Copy for MDE
impl Eq for MDE
impl StructuralPartialEq for MDE
impl UnstableSealed for MDE
Auto Trait Implementations§
impl Freeze for MDE
impl RefUnwindSafe for MDE
impl Send for MDE
impl Sync for MDE
impl Unpin for MDE
impl UnwindSafe for MDE
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
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>
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