Enum chrono::offset::LocalResult [-] [+] [src]

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

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

Given local time representation has a single unique result.

Ambiguous

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

Methods

impl<T> LocalResult<T>

fn single(self) -> Option<T>

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

fn earliest(self) -> Option<T>

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

fn latest(self) -> Option<T>

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

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

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

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

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.

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.

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.

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.

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.

impl<T: Debug> LocalResult<T>

fn unwrap(self) -> T

Returns the single unique conversion result, or fails accordingly.

Trait Implementations

Derived Implementations

impl<T: Debug> Debug for LocalResult<T>

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl<T: PartialEq> PartialEq for LocalResult<T>

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

fn ne(&self, __arg_0: &LocalResult<T>) -> bool

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

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

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