icu_time::provider

Enum TimeZoneVariant

Source
#[non_exhaustive]
#[repr(u8)]
pub enum TimeZoneVariant { Standard = 0, Daylight = 1, }
Expand description

A time zone variant, such as Standard Time, or Daylight/Summer Time.

This should not generally be constructed by client code. Instead, use

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Standard = 0

The variant corresponding to "standard" in CLDR.

The semantics vary from time zone to time zone. The time zone display name of this variant may or may not be called “Standard Time”.

This is the variant with the lower UTC offset.

§

Daylight = 1

The variant corresponding to "daylight" in CLDR.

The semantics vary from time zone to time zone. The time zone display name of this variant may or may not be called “Daylight Time”.

This is the variant with the higher UTC offset.

Implementations§

Source§

impl TimeZoneVariant

Source

pub const fn from_rearguard_isdst(isdst: bool) -> Self

Creates a zone variant from a TZDB isdst flag, if it is known that the TZDB was built with DATAFORM=rearguard.

If it is known that the database was not built with rearguard, a caller can try to adjust for the differences. This is a moving target, for example the known differences for 2025a are:

  • Europe/Dublin since 1968-10-27
  • Africa/Windhoek between 1994-03-20 and 2017-10-24
  • Africa/Casablanca and Africa/El_Aaiun since 2018-10-28

If the TZDB build mode is unknown or variable, use TimeZoneInfo::infer_zone_variant.

Trait Implementations§

Source§

impl AsULE for TimeZoneVariant

Source§

type ULE = TimeZoneVariantULE

The ULE type corresponding to Self. Read more
Source§

fn to_unaligned(self) -> Self::ULE

Converts from Self to Self::ULE. Read more
Source§

fn from_unaligned(other: Self::ULE) -> Self

Converts from Self::ULE to Self. Read more
Source§

impl Bake for TimeZoneVariant

Source§

fn bake(&self, env: &CrateEnv) -> TokenStream

Returns a TokenStream that would evaluate to self. Read more
Source§

impl BakeSize for TimeZoneVariant

Source§

fn borrows_size(&self) -> usize

Returns the size
Source§

impl Clone for TimeZoneVariant

Source§

fn clone(&self) -> TimeZoneVariant

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TimeZoneVariant

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TimeZoneVariant

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Hash for TimeZoneVariant

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoOption<TimeZoneVariant> for TimeZoneVariant

Source§

fn into_option(self) -> Option<Self>

Return self as an Option<T>
Source§

impl Ord for TimeZoneVariant

Source§

fn cmp(&self, other: &TimeZoneVariant) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for TimeZoneVariant

Source§

fn eq(&self, other: &TimeZoneVariant) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for TimeZoneVariant

Source§

fn partial_cmp(&self, other: &TimeZoneVariant) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Serialize for TimeZoneVariant

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a> ZeroMapKV<'a> for TimeZoneVariant

Source§

type Container = ZeroVec<'a, TimeZoneVariant>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
Source§

type Slice = ZeroSlice<TimeZoneVariant>

Source§

type GetType = TimeZoneVariantULE

The type produced by Container::get() Read more
Source§

type OwnedType = TimeZoneVariant

The type produced by Container::replace() and Container::remove(), also used during deserialization. If Self is human readable serialized, deserializing to Self::OwnedType should produce the same value once passed through Self::owned_as_self() Read more
Source§

impl Copy for TimeZoneVariant

Source§

impl Eq for TimeZoneVariant

Source§

impl StructuralPartialEq for TimeZoneVariant

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,