#[non_exhaustive]pub struct T {
pub length: NeoSkeletonLength,
pub alignment: Option<Alignment>,
pub time_precision: Option<TimePrecision>,
}
Expand description
“3:47:50 PM” ⇒ time (locale-dependent hour cycle)
§Examples
use icu::calendar::DateTime;
use icu::datetime::DateTimeFormatter;
use icu::datetime::fieldset::T;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = DateTimeFormatter::<T>::try_new(
&locale!("en").into(),
T::medium(),
)
.unwrap();
let dt = DateTime::try_new_iso(2024, 5, 17, 15, 47, 50).unwrap();
assert_try_writeable_eq!(
fmt.convert_and_format(&dt),
"3:47:50 PM"
);
In FixedCalendarDateTimeFormatter
:
use icu::calendar::Time;
use icu::calendar::Gregorian;
use icu::datetime::FixedCalendarDateTimeFormatter;
use icu::datetime::fieldset::T;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = FixedCalendarDateTimeFormatter::<Gregorian, T>::try_new(
&locale!("en").into(),
T::medium(),
)
.unwrap();
let dt = Time::try_new(15, 47, 50, 0).unwrap();
assert_try_writeable_eq!(
fmt.format(&dt),
"3:47:50 PM"
);
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
time_precision: Option<TimePrecision>
How precisely to display the time of day
See: TimePrecision
Implementations§
source§impl T
impl T
sourcepub const fn with_length(length: NeoSkeletonLength) -> T
pub const fn with_length(length: NeoSkeletonLength) -> T
Creates a T skeleton with the given formatting length.
source§impl T
impl T
sourcepub const fn with_alignment(self, alignment: Alignment) -> T
pub const fn with_alignment(self, alignment: Alignment) -> T
Sets the alignment option.
source§impl T
impl T
sourcepub const fn with_time_precision(self, time_precision: TimePrecision) -> T
pub const fn with_time_precision(self, time_precision: TimePrecision) -> T
Sets the time precision option.
sourcepub fn hm(self) -> T
pub fn hm(self) -> T
Sets the time precision to TimePrecision::MinuteExact
sourcepub fn hms(self) -> T
pub fn hms(self) -> T
Sets the time precision to TimePrecision::SecondPlus
source§impl T
impl T
sourcepub fn z(self) -> Combo<T, Zs>
pub fn z(self) -> Combo<T, Zs>
Associates this field set with a specific non-location format time zone, as in “Pacific Daylight Time”.
sourcepub fn o(self) -> Combo<T, O>
pub fn o(self) -> Combo<T, O>
Associates this field set with an offset format time zone, as in “GMT−8”.
Trait Implementations§
source§impl DateTimeMarkers for T
impl DateTimeMarkers for T
source§type D = NeoNeverMarker
type D = NeoNeverMarker
Associated types for date 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 T
impl GetField<CompositeFieldSet> for T
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 T
impl GetField<NeoSkeletonLength> for T
source§fn get_field(&self) -> NeoSkeletonLength
fn get_field(&self) -> NeoSkeletonLength
Returns the value of this trait’s field
T
.source§impl GetField<Option<TimePrecision>> for T
impl GetField<Option<TimePrecision>> for T
source§fn get_field(&self) -> Option<TimePrecision>
fn get_field(&self) -> Option<TimePrecision>
Returns the value of this trait’s field
T
.source§impl TimeMarkers for T
impl TimeMarkers for T
source§type DayPeriodNamesV1Marker = DayPeriodNamesV1Marker
type DayPeriodNamesV1Marker = DayPeriodNamesV1Marker
Marker for loading day period names.
source§type TimeSkeletonPatternsV1Marker = TimeNeoSkeletonPatternsV1Marker
type TimeSkeletonPatternsV1Marker = TimeNeoSkeletonPatternsV1Marker
Marker for loading time skeleton patterns.
source§type MinuteInput = IsoMinute
type MinuteInput = IsoMinute
Marker for resolving the day-of-week input field.
source§type SecondInput = IsoSecond
type SecondInput = IsoSecond
Marker for resolving the day-of-year input field.
source§type NanoSecondInput = NanoSecond
type NanoSecondInput = NanoSecond
Marker for resolving the any-calendar-kind input field.
impl Copy for T
impl Eq for T
impl StructuralPartialEq for T
impl UnstableSealed for T
Auto Trait Implementations§
impl Freeze for T
impl RefUnwindSafe for T
impl Send for T
impl Sync for T
impl Unpin for T
impl UnwindSafe for T
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