pub enum LocalResult<T> {
    None,
    Single(T),
    Ambiguous(T, T),
}
Expand description

The conversion result from the local time to the timezone-aware datetime types.

Variants§

§

None

Given local time representation is invalid. This can occur when, for example, the positive timezone transition.

§

Single(T)

Given local time representation has a single unique result.

§

Ambiguous(T, T)

Given local time representation has multiple results and thus ambiguous. This can occur when, for example, the negative timezone transition.

Implementations§

source§

impl<T> LocalResult<T>

source

pub fn single(self) -> Option<T>

Returns Some only when the conversion result is unique, or None otherwise.

source

pub fn earliest(self) -> Option<T>

Returns Some for the earliest possible conversion result, or None if none.

source

pub fn latest(self) -> Option<T>

Returns Some for the latest possible conversion result, or None if none.

source

pub fn map<U, F: FnMut(T) -> U>(self, f: F) -> LocalResult<U>

Maps a LocalResult<T> into LocalResult<U> with given function.

source§

impl<Tz: TimeZone> LocalResult<Date<Tz>>

source

pub fn and_time(self, time: NaiveTime) -> LocalResult<DateTime<Tz>>

Makes a new DateTime from the current date and given NaiveTime. The offset in the current date is preserved.

Propagates any error. Ambiguous result would be discarded.

source

pub fn and_hms_opt( self, hour: u32, min: u32, sec: u32 ) -> LocalResult<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute and second. The offset in the current date is preserved.

Propagates any error. Ambiguous result would be discarded.

source

pub fn and_hms_milli_opt( self, hour: u32, min: u32, sec: u32, milli: u32 ) -> LocalResult<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and millisecond. The millisecond part can exceed 1,000 in order to represent the leap second. The offset in the current date is preserved.

Propagates any error. Ambiguous result would be discarded.

source

pub fn and_hms_micro_opt( self, hour: u32, min: u32, sec: u32, micro: u32 ) -> LocalResult<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and microsecond. The microsecond part can exceed 1,000,000 in order to represent the leap second. The offset in the current date is preserved.

Propagates any error. Ambiguous result would be discarded.

source

pub fn and_hms_nano_opt( self, hour: u32, min: u32, sec: u32, nano: u32 ) -> LocalResult<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and nanosecond. The nanosecond part can exceed 1,000,000,000 in order to represent the leap second. The offset in the current date is preserved.

Propagates any error. Ambiguous result would be discarded.

source§

impl<T: Debug> LocalResult<T>

source

pub fn unwrap(self) -> T

Returns the single unique conversion result, or panics accordingly.

Trait Implementations§

source§

impl<T: Clone> Clone for LocalResult<T>

source§

fn clone(&self) -> LocalResult<T>

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<T: Debug> Debug for LocalResult<T>

source§

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

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

impl<T: Hash> Hash for LocalResult<T>

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<T: PartialEq> PartialEq<LocalResult<T>> for LocalResult<T>

source§

fn eq(&self, other: &LocalResult<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Copy> Copy for LocalResult<T>

source§

impl<T: Eq> Eq for LocalResult<T>

source§

impl<T> StructuralEq for LocalResult<T>

source§

impl<T> StructuralPartialEq for LocalResult<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for LocalResult<T>where T: RefUnwindSafe,

§

impl<T> Send for LocalResult<T>where T: Send,

§

impl<T> Sync for LocalResult<T>where T: Sync,

§

impl<T> Unpin for LocalResult<T>where T: Unpin,

§

impl<T> UnwindSafe for LocalResult<T>where T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.