Struct icu_datetime::neo_marker::NeoAutoTimeMarker
source · #[non_exhaustive]pub struct NeoAutoTimeMarker {
pub length: NeoSkeletonLength,
pub alignment: Option<Alignment>,
pub fractional_second_digits: Option<FractionalSecondDigits>,
}
Expand description
“3:47:50 PM” ⇒ locale-dependent time fields
§Examples
In NeoFormatter
:
use icu::calendar::DateTime;
use icu::datetime::neo::NeoFormatter;
use icu::datetime::neo_marker::NeoAutoTimeMarker;
use icu::datetime::neo_skeleton::NeoSkeletonLength;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = NeoFormatter::<NeoAutoTimeMarker>::try_new(
&locale!("en").into(),
NeoAutoTimeMarker::with_length(NeoSkeletonLength::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"
);
use icu::calendar::Time;
use icu::calendar::Gregorian;
use icu::datetime::neo::TypedNeoFormatter;
use icu::datetime::neo_marker::NeoAutoTimeMarker;
use icu::datetime::neo_skeleton::NeoSkeletonLength;
use icu::locale::locale;
use writeable::assert_try_writeable_eq;
let fmt = TypedNeoFormatter::<Gregorian, NeoAutoTimeMarker>::try_new(
&locale!("en").into(),
NeoAutoTimeMarker::with_length(NeoSkeletonLength::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
fractional_second_digits: Option<FractionalSecondDigits>
How many fractional seconds to display.
Implementations§
source§impl NeoAutoTimeMarker
impl NeoAutoTimeMarker
sourcepub const fn with_length(length: NeoSkeletonLength) -> Self
pub const fn with_length(length: NeoSkeletonLength) -> Self
Creates a NeoAutoTimeMarker skeleton with the given formatting length.
source§impl NeoAutoTimeMarker
impl NeoAutoTimeMarker
sourcepub const fn with_alignment(self, alignment: Alignment) -> Self
pub const fn with_alignment(self, alignment: Alignment) -> Self
Sets the alignment option.
source§impl NeoAutoTimeMarker
impl NeoAutoTimeMarker
sourcepub const fn with_fractional_second_digits(
self,
digits: FractionalSecondDigits,
) -> Self
pub const fn with_fractional_second_digits( self, digits: FractionalSecondDigits, ) -> Self
Sets the fractional second digits option.
Trait Implementations§
source§impl DateTimeMarkers for NeoAutoTimeMarker
impl DateTimeMarkers for NeoAutoTimeMarker
source§type D = NeoNeverMarker
type D = NeoNeverMarker
Associated types for date formatting. Read more
source§type T = NeoAutoTimeMarker
type T = NeoAutoTimeMarker
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 = ()
type YearStyleOption = ()
Type of the year style option in the constructor.
source§type FractionalSecondDigitsOption = Option<FractionalSecondDigits>
type FractionalSecondDigitsOption = Option<FractionalSecondDigits>
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 NeoAutoTimeMarker
impl Debug for NeoAutoTimeMarker
source§impl GetField<()> for NeoAutoTimeMarker
impl GetField<()> for NeoAutoTimeMarker
source§impl GetField<NeoSkeletonLength> for NeoAutoTimeMarker
impl GetField<NeoSkeletonLength> for NeoAutoTimeMarker
source§fn get_field(&self) -> NeoSkeletonLength
fn get_field(&self) -> NeoSkeletonLength
Returns the value of this trait’s field
T
.source§impl GetField<Option<FractionalSecondDigits>> for NeoAutoTimeMarker
impl GetField<Option<FractionalSecondDigits>> for NeoAutoTimeMarker
source§fn get_field(&self) -> Option<FractionalSecondDigits>
fn get_field(&self) -> Option<FractionalSecondDigits>
Returns the value of this trait’s field
T
.source§impl HasConstComponents for NeoAutoTimeMarker
impl HasConstComponents for NeoAutoTimeMarker
source§const COMPONENTS: NeoComponents = _
const COMPONENTS: NeoComponents = _
The associated components.
source§impl HasConstTimeComponents for NeoAutoTimeMarker
impl HasConstTimeComponents for NeoAutoTimeMarker
source§const COMPONENTS: NeoTimeComponents = NeoTimeComponents::Auto
const COMPONENTS: NeoTimeComponents = NeoTimeComponents::Auto
The associated components.
source§impl TimeMarkers for NeoAutoTimeMarker
impl TimeMarkers for NeoAutoTimeMarker
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 UnstableSealed for NeoAutoTimeMarker
Auto Trait Implementations§
impl Freeze for NeoAutoTimeMarker
impl RefUnwindSafe for NeoAutoTimeMarker
impl Send for NeoAutoTimeMarker
impl Sync for NeoAutoTimeMarker
impl Unpin for NeoAutoTimeMarker
impl UnwindSafe for NeoAutoTimeMarker
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