Struct icu_datetime::fieldset::M
source · #[non_exhaustive]pub struct M {
pub length: NeoSkeletonLength,
pub alignment: Option<Alignment>,
}
Expand description
“May” ⇒ month (standalone)
§Examples
use icu::calendar::Date;
use icu::datetime::DateTimeFormatter;
use icu::datetime::fieldset::M;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = DateTimeFormatter::<M>::try_new(
&locale!("en").into(),
M::long(),
)
.unwrap();
let dt = Date::try_new_iso(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.convert_and_format(&dt),
"May"
);
In FixedCalendarDateTimeFormatter
:
use icu::calendar::Date;
use icu::calendar::Gregorian;
use icu::datetime::FixedCalendarDateTimeFormatter;
use icu::datetime::fieldset::M;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = FixedCalendarDateTimeFormatter::<Gregorian, M>::try_new(
&locale!("en").into(),
M::long(),
)
.unwrap();
let dt = Date::try_new_gregorian(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.format(&dt),
"May"
);
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 M
impl M
sourcepub const fn with_length(length: NeoSkeletonLength) -> Self
pub const fn with_length(length: NeoSkeletonLength) -> Self
Creates a M skeleton with the given formatting length.
Trait Implementations§
source§impl DateDataMarkers for M
impl DateDataMarkers for M
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 = NeverMarker<LinearNamesV1<'static>>
type WeekdayNamesV1Marker = NeverMarker<LinearNamesV1<'static>>
Marker for loading weekday names.
source§impl DateInputMarkers for M
impl DateInputMarkers for M
source§type MonthInput = MonthInfo
type MonthInput = MonthInfo
Marker for resolving the month input field.
source§type DayOfMonthInput = ()
type DayOfMonthInput = ()
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 = ()
type DayOfWeekInput = ()
Marker for resolving the day-of-week input field.
source§impl DateTimeMarkers for M
impl DateTimeMarkers for M
source§type T = NeoNeverMarker
type T = NeoNeverMarker
Associated types for time formatting. Read more
source§type Z = NeoNeverMarker
type Z = NeoNeverMarker
Associated types for time zone formatting. Read more
source§type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
Marker for loading the date/time glue pattern.
source§impl GetField<CompositeFieldSet> for M
impl GetField<CompositeFieldSet> for M
source§fn get_field(&self) -> CompositeFieldSet
fn get_field(&self) -> CompositeFieldSet
Returns the value of this trait’s field
T
.source§impl GetField<NeoSkeletonLength> for M
impl GetField<NeoSkeletonLength> for M
source§fn get_field(&self) -> NeoSkeletonLength
fn get_field(&self) -> NeoSkeletonLength
Returns the value of this trait’s field
T
.source§impl<C: CldrCalendar> TypedDateDataMarkers<C> for M
impl<C: CldrCalendar> TypedDateDataMarkers<C> for M
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 = NeverMarker<LinearNamesV1<'static>>
type WeekdayNamesV1Marker = NeverMarker<LinearNamesV1<'static>>
Marker for loading weekday names.
impl Copy for M
impl Eq for M
impl StructuralPartialEq for M
impl UnstableSealed for M
Auto Trait Implementations§
impl Freeze for M
impl RefUnwindSafe for M
impl Send for M
impl Sync for M
impl Unpin for M
impl UnwindSafe for M
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