Struct icu_datetime::neo_marker::NeoYearMonthDayMarker
source · #[non_exhaustive]pub struct NeoYearMonthDayMarker {
pub length: NeoSkeletonLength,
pub alignment: Option<Alignment>,
pub year_style: Option<YearStyle>,
}
Expand description
“5/17/24” ⇒ year, month, and day (year might be abbreviated)
§Examples
In NeoFormatter
:
use icu::calendar::Date;
use icu::datetime::neo::NeoFormatter;
use icu::datetime::neo_marker::NeoYearMonthDayMarker;
use icu::datetime::neo_skeleton::NeoSkeletonLength;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = NeoFormatter::<NeoYearMonthDayMarker>::try_new(
&locale!("en").into(),
NeoYearMonthDayMarker::with_length(NeoSkeletonLength::Short),
)
.unwrap();
let dt = Date::try_new_iso(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.convert_and_format(&dt),
"5/17/24"
);
use icu::calendar::Date;
use icu::calendar::Gregorian;
use icu::datetime::neo::TypedNeoFormatter;
use icu::datetime::neo_marker::NeoYearMonthDayMarker;
use icu::datetime::neo_skeleton::NeoSkeletonLength;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = TypedNeoFormatter::<Gregorian, NeoYearMonthDayMarker>::try_new(
&locale!("en").into(),
NeoYearMonthDayMarker::with_length(NeoSkeletonLength::Short),
)
.unwrap();
let dt = Date::try_new_gregorian(2024, 5, 17).unwrap();
assert_try_writeable_eq!(
fmt.format(&dt),
"5/17/24"
);
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
year_style: Option<YearStyle>
When to display the era field in the formatted string.
See: YearStyle
Implementations§
source§impl NeoYearMonthDayMarker
impl NeoYearMonthDayMarker
sourcepub const fn with_length(length: NeoSkeletonLength) -> Self
pub const fn with_length(length: NeoSkeletonLength) -> Self
Creates a NeoYearMonthDayMarker skeleton with the given formatting length.
source§impl NeoYearMonthDayMarker
impl NeoYearMonthDayMarker
sourcepub const fn with_alignment(self, alignment: Alignment) -> Self
pub const fn with_alignment(self, alignment: Alignment) -> Self
Sets the alignment option.
source§impl NeoYearMonthDayMarker
impl NeoYearMonthDayMarker
sourcepub const fn with_year_style(self, year_style: YearStyle) -> Self
pub const fn with_year_style(self, year_style: YearStyle) -> Self
Sets the year style option.
Trait Implementations§
source§impl DateDataMarkers for NeoYearMonthDayMarker
impl DateDataMarkers for NeoYearMonthDayMarker
source§type Skel = FullDataCalMarkers
type Skel = FullDataCalMarkers
Cross-calendar data markers for date skeleta.
source§type Year = FullDataCalMarkers
type Year = FullDataCalMarkers
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 NeoYearMonthDayMarker
impl DateInputMarkers for NeoYearMonthDayMarker
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 DayOfWeekInput = ()
type DayOfWeekInput = ()
Marker for resolving the day-of-week input field.
source§type AnyCalendarKindInput = AnyCalendarKind
type AnyCalendarKindInput = AnyCalendarKind
Marker for resolving the any-calendar-kind input field.
source§impl DateTimeMarkers for NeoYearMonthDayMarker
impl DateTimeMarkers for NeoYearMonthDayMarker
source§type D = NeoYearMonthDayMarker
type D = NeoYearMonthDayMarker
Associated types for date formatting. Read more
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 LengthOption = NeoSkeletonLength
type LengthOption = NeoSkeletonLength
Type of the length option in the constructor.
source§type AlignmentOption = Option<Alignment>
type AlignmentOption = Option<Alignment>
Type of the alignment option in the constructor.
source§type YearStyleOption = Option<YearStyle>
type YearStyleOption = Option<YearStyle>
Type of the year style option in the constructor.
source§type FractionalSecondDigitsOption = ()
type FractionalSecondDigitsOption = ()
Type of the fractional seconds display option in the constructor.
source§type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
Marker for loading the date/time glue pattern.
source§impl Debug for NeoYearMonthDayMarker
impl Debug for NeoYearMonthDayMarker
source§impl GetField<()> for NeoYearMonthDayMarker
impl GetField<()> for NeoYearMonthDayMarker
source§impl GetField<NeoSkeletonLength> for NeoYearMonthDayMarker
impl GetField<NeoSkeletonLength> for NeoYearMonthDayMarker
source§fn get_field(&self) -> NeoSkeletonLength
fn get_field(&self) -> NeoSkeletonLength
Returns the value of this trait’s field
T
.source§impl HasConstComponents for NeoYearMonthDayMarker
impl HasConstComponents for NeoYearMonthDayMarker
source§const COMPONENTS: NeoComponents = _
const COMPONENTS: NeoComponents = _
The associated components.
source§impl HasConstDateComponents for NeoYearMonthDayMarker
impl HasConstDateComponents for NeoYearMonthDayMarker
source§const COMPONENTS: NeoDateComponents = NeoDateComponents::YearMonthDay
const COMPONENTS: NeoDateComponents = NeoDateComponents::YearMonthDay
The associated components.
source§impl<C: CldrCalendar> TypedDateDataMarkers<C> for NeoYearMonthDayMarker
impl<C: CldrCalendar> TypedDateDataMarkers<C> for NeoYearMonthDayMarker
source§type DateSkeletonPatternsV1Marker = <C as CldrCalendar>::SkeletaV1Marker
type DateSkeletonPatternsV1Marker = <C as CldrCalendar>::SkeletaV1Marker
Marker for loading date skeleton patterns.
source§type YearNamesV1Marker = <C as CldrCalendar>::YearNamesV1Marker
type YearNamesV1Marker = <C as CldrCalendar>::YearNamesV1Marker
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 UnstableSealed for NeoYearMonthDayMarker
Auto Trait Implementations§
impl Freeze for NeoYearMonthDayMarker
impl RefUnwindSafe for NeoYearMonthDayMarker
impl Send for NeoYearMonthDayMarker
impl Sync for NeoYearMonthDayMarker
impl Unpin for NeoYearMonthDayMarker
impl UnwindSafe for NeoYearMonthDayMarker
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> 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