#[non_exhaustive]pub struct Os {}
Expand description
“GMT-5” ⇒ UTC offset, short length
§Examples
use icu::calendar::{Date, Time};
use icu::timezone::{TimeZoneBcp47Id, TimeZoneInfo, UtcOffset, ZoneVariant};
use icu::datetime::TimeFormatter;
use icu::datetime::fieldsets::Os;
use icu::locale::locale;
use tinystr::tinystr;
use writeable::assert_writeable_eq;
let fmt = TimeFormatter::try_new(
locale!("en").into(),
Os::new(),
)
.unwrap();
// Time zone info for America/Chicago in the summer
let zone = TimeZoneBcp47Id(tinystr!(8, "uschi"))
.with_offset("-05".parse().ok())
.at_time((Date::try_new_iso(2022, 8, 29).unwrap(), Time::midnight()))
.with_zone_variant(ZoneVariant::Daylight);
assert_writeable_eq!(
fmt.format(&zone),
"GMT-5"
);
Implementations§
Trait Implementations§
source§impl DateTimeMarkers for Os
impl DateTimeMarkers for Os
source§type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
type GluePatternV1Marker = NeverMarker<GluePatternV1<'static>>
Marker for loading the date/time glue pattern.
source§impl DateTimeNamesMarker for Os
impl DateTimeNamesMarker for Os
type YearNames = ()
type MonthNames = ()
type WeekdayNames = ()
type DayPeriodNames = ()
type ZoneEssentials = TimeZoneEssentialsV1Marker
type ZoneLocations = ()
type ZoneGenericLong = ()
type ZoneGenericShort = ()
type ZoneSpecificLong = ()
type ZoneSpecificShort = ()
type MetazoneLookup = ()
source§impl GetField<CompositeFieldSet> for Os
impl GetField<CompositeFieldSet> for Os
source§fn get_field(&self) -> CompositeFieldSet
fn get_field(&self) -> CompositeFieldSet
Returns the value of this trait’s field
T
.source§impl ZoneMarkers for Os
impl ZoneMarkers for Os
source§type TimeZoneIdInput = ()
type TimeZoneIdInput = ()
Marker for resolving the time zone id input field.
source§type TimeZoneOffsetInput = Option<UtcOffset>
type TimeZoneOffsetInput = Option<UtcOffset>
Marker for resolving the time zone offset input field.
source§type TimeZoneVariantInput = ()
type TimeZoneVariantInput = ()
Marker for resolving the time zone variant input field.
source§type TimeZoneLocalTimeInput = ()
type TimeZoneLocalTimeInput = ()
Marker for resolving the time zone non-location display names, which depend on the datetime.
source§type EssentialsV1Marker = TimeZoneEssentialsV1Marker
type EssentialsV1Marker = TimeZoneEssentialsV1Marker
Marker for loading core time zone data.
source§type LocationsV1Marker = NeverMarker<LocationsV1<'static>>
type LocationsV1Marker = NeverMarker<LocationsV1<'static>>
Marker for loading location names for time zone formatting
source§type GenericLongV1Marker = NeverMarker<MetazoneGenericNamesV1<'static>>
type GenericLongV1Marker = NeverMarker<MetazoneGenericNamesV1<'static>>
Marker for loading generic long time zone names.
source§type GenericShortV1Marker = NeverMarker<MetazoneGenericNamesV1<'static>>
type GenericShortV1Marker = NeverMarker<MetazoneGenericNamesV1<'static>>
Marker for loading generic short time zone names.
source§type SpecificLongV1Marker = NeverMarker<MetazoneSpecificNamesV1<'static>>
type SpecificLongV1Marker = NeverMarker<MetazoneSpecificNamesV1<'static>>
Marker for loading specific long time zone names.
source§type SpecificShortV1Marker = NeverMarker<MetazoneSpecificNamesV1<'static>>
type SpecificShortV1Marker = NeverMarker<MetazoneSpecificNamesV1<'static>>
Marker for loading generic short time zone names.
source§type MetazonePeriodV1Marker = NeverMarker<MetazonePeriodV1<'static>>
type MetazonePeriodV1Marker = NeverMarker<MetazonePeriodV1<'static>>
Marker for loading metazone periods.
impl Copy for Os
impl Eq for Os
impl StructuralPartialEq for Os
impl UnstableSealed for Os
Auto Trait Implementations§
impl Freeze for Os
impl RefUnwindSafe for Os
impl Send for Os
impl Sync for Os
impl Unpin for Os
impl UnwindSafe for Os
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<M, T> DateTimeNamesFrom<M> for Twhere
M: DateTimeNamesMarker,
T: DateTimeNamesMarker,
<<T as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container: From<<<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container>,
<<T as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container: From<<<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container>,
<<T as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container: From<<<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container>,
<<T as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container: From<<<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container>,
<<T as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container>,
impl<M, T> DateTimeNamesFrom<M> for Twhere
M: DateTimeNamesMarker,
T: DateTimeNamesMarker,
<<T as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container: From<<<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container>,
<<T as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container: From<<<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container>,
<<T as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container: From<<<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container>,
<<T as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container: From<<<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container>,
<<T as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container>,
<<T as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container: From<<<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container>,
fn map_year_names( other: <<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container, ) -> <<T as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1Marker, FieldLength>>::Container
fn map_month_names( other: <<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container, ) -> <<T as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1Marker, (Month, FieldLength)>>::Container
fn map_weekday_names( other: <<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container, ) -> <<T as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1Marker, (Weekday, FieldLength)>>::Container
fn map_day_period_names( other: <<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container, ) -> <<T as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1Marker, FieldLength>>::Container
fn map_zone_essentials( other: <<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1Marker, ()>>::Container
fn map_zone_locations( other: <<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1Marker, ()>>::Container
fn map_zone_generic_long( other: <<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1Marker, ()>>::Container
fn map_zone_generic_short( other: <<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1Marker, ()>>::Container
fn map_zone_specific_long( other: <<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1Marker, ()>>::Container
fn map_zone_specific_short( other: <<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1Marker, ()>>::Container
fn map_metazone_lookup( other: <<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container, ) -> <<T as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1Marker, ()>>::Container
source§impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
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