#[non_exhaustive]pub struct D {
pub length: Length,
pub alignment: Option<Alignment>,
}
Expand description
“17” ⇒ day of month (standalone)
§Examples
use icu::calendar::Date;
use icu::datetime::DateTimeFormatter;
use icu::datetime::fieldsets::D;
use icu::locale::locale;
use writeable::assert_writeable_eq;
let fmt = DateTimeFormatter::<D>::try_new(
locale!("en").into(),
D::short(),
)
.unwrap();
let dt = Date::try_new_iso(2024, 5, 17).unwrap();
assert_writeable_eq!(
fmt.format_any_calendar(&dt),
"17"
);
In FixedCalendarDateTimeFormatter
:
use icu::calendar::Date;
use icu::calendar::Gregorian;
use icu::datetime::FixedCalendarDateTimeFormatter;
use icu::datetime::fieldsets::D;
use icu::locale::locale;
use writeable::assert_writeable_eq;
let fmt = FixedCalendarDateTimeFormatter::<Gregorian, D>::try_new(
locale!("en").into(),
D::short(),
)
.unwrap();
let dt = Date::try_new_gregorian(2024, 5, 17).unwrap();
assert_writeable_eq!(
fmt.format(&dt),
"17"
);
This format may use ordinal formatting, such as “the 17th”, in the future. See CLDR-18040.
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: Length
The desired length of the formatted string.
See: Length
alignment: Option<Alignment>
Whether fields should be aligned for a column-like layout.
See: Alignment
Implementations§
source§impl D
impl D
sourcepub const fn with_length(length: Length) -> D
pub const fn with_length(length: Length) -> D
Creates a D skeleton with the given formatting length.
source§impl D
impl D
sourcepub const fn with_alignment(self, alignment: Alignment) -> D
pub const fn with_alignment(self, alignment: Alignment) -> D
Sets the alignment option.
source§impl D
impl D
sourcepub fn zone_z(self) -> Combo<D, Zs>
pub fn zone_z(self) -> Combo<D, Zs>
Associates this field set with a specific non-location format time zone, as in “Pacific Daylight Time”.
sourcepub fn zone_o(self) -> Combo<D, O>
pub fn zone_o(self) -> Combo<D, O>
Associates this field set with an offset format time zone, as in “GMT−8”.
Trait Implementations§
source§impl DateDataMarkers for D
impl DateDataMarkers for D
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 = NoDataCalMarkers
type Month = NoDataCalMarkers
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 D
impl DateInputMarkers for D
source§type MonthInput = ()
type MonthInput = ()
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 = ()
type DayOfWeekInput = ()
Marker for resolving the day-of-week input field.
source§impl DateTimeMarkers for D
impl DateTimeMarkers for D
source§type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
Marker for loading the date/time glue pattern.
source§impl DateTimeNamesMarker for D
impl DateTimeNamesMarker for D
type YearNames = ()
type MonthNames = ()
type WeekdayNames = ()
type DayPeriodNames = ()
type ZoneEssentials = ()
type ZoneLocations = ()
type ZoneGenericLong = ()
type ZoneGenericShort = ()
type ZoneSpecificLong = ()
type ZoneSpecificShort = ()
type MetazoneLookup = ()
source§impl GetField<CompositeFieldSet> for D
impl GetField<CompositeFieldSet> for D
source§fn get_field(&self) -> CompositeFieldSet
fn get_field(&self) -> CompositeFieldSet
Returns the value of this trait’s field
T
.source§impl<C> TypedDateDataMarkers<C> for Dwhere
C: CldrCalendar,
impl<C> TypedDateDataMarkers<C> for Dwhere
C: CldrCalendar,
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 = NeverMarker<MonthNamesV1<'static>>
type MonthNamesV1Marker = NeverMarker<MonthNamesV1<'static>>
Marker for loading month names.
source§type WeekdayNamesV1Marker = NeverMarker<LinearNamesV1<'static>>
type WeekdayNamesV1Marker = NeverMarker<LinearNamesV1<'static>>
Marker for loading weekday names.
impl Copy for D
impl Eq for D
impl StructuralPartialEq for D
impl UnstableSealed for D
Auto Trait Implementations§
impl Freeze for D
impl RefUnwindSafe for D
impl Send for D
impl Sync for D
impl Unpin for D
impl UnwindSafe for D
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