Enum chrono::offset::LocalResult
source · pub enum LocalResult<T> {
Single(T),
Ambiguous(T, T),
None,
}
Expand description
Old name of MappedLocalTime
. See that type for more documentation.
Variants§
Single(T)
The local time maps to a single unique result.
Ambiguous(T, T)
The local time is ambiguous because there is a fold in the local time.
This variant contains the two possible results, in the order (earliest, latest)
.
None
The local time does not exist because there is a gap in the local time.
This variant may also be returned if there was an error while resolving the local time, caused by for example missing time zone data files, an error in an OS API, or overflow.
Implementations§
source§impl<T> LocalResult<T>
impl<T> LocalResult<T>
sourcepub fn single(self) -> Option<T>
pub fn single(self) -> Option<T>
Returns Some
if the time zone mapping has a single result.
§Errors
Returns None
if local time falls in a fold or gap in the local time, or if there was
an error.
sourcepub fn earliest(self) -> Option<T>
pub fn earliest(self) -> Option<T>
Returns the earliest possible result of the time zone mapping.
§Errors
Returns None
if local time falls in a gap in the local time, or if there was an error.
sourcepub fn latest(self) -> Option<T>
pub fn latest(self) -> Option<T>
Returns the latest possible result of the time zone mapping.
§Errors
Returns None
if local time falls in a gap in the local time, or if there was an error.
sourcepub fn map<U, F: FnMut(T) -> U>(self, f: F) -> MappedLocalTime<U>
pub fn map<U, F: FnMut(T) -> U>(self, f: F) -> MappedLocalTime<U>
Maps a MappedLocalTime<T>
into MappedLocalTime<U>
with given function.
sourcepub(crate) fn and_then<U, F: FnMut(T) -> Option<U>>(
self,
f: F,
) -> MappedLocalTime<U>
pub(crate) fn and_then<U, F: FnMut(T) -> Option<U>>( self, f: F, ) -> MappedLocalTime<U>
Maps a MappedLocalTime<T>
into MappedLocalTime<U>
with given function.
Returns MappedLocalTime::None
if the function returns None
.
source§impl<Tz: TimeZone> LocalResult<Date<Tz>>
impl<Tz: TimeZone> LocalResult<Date<Tz>>
sourcepub fn and_time(self, time: NaiveTime) -> MappedLocalTime<DateTime<Tz>>
pub fn and_time(self, time: NaiveTime) -> MappedLocalTime<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.
sourcepub fn and_hms_opt(
self,
hour: u32,
min: u32,
sec: u32,
) -> MappedLocalTime<DateTime<Tz>>
pub fn and_hms_opt( self, hour: u32, min: u32, sec: u32, ) -> MappedLocalTime<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.
sourcepub fn and_hms_milli_opt(
self,
hour: u32,
min: u32,
sec: u32,
milli: u32,
) -> MappedLocalTime<DateTime<Tz>>
pub fn and_hms_milli_opt( self, hour: u32, min: u32, sec: u32, milli: u32, ) -> MappedLocalTime<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.
sourcepub fn and_hms_micro_opt(
self,
hour: u32,
min: u32,
sec: u32,
micro: u32,
) -> MappedLocalTime<DateTime<Tz>>
pub fn and_hms_micro_opt( self, hour: u32, min: u32, sec: u32, micro: u32, ) -> MappedLocalTime<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.
sourcepub fn and_hms_nano_opt(
self,
hour: u32,
min: u32,
sec: u32,
nano: u32,
) -> MappedLocalTime<DateTime<Tz>>
pub fn and_hms_nano_opt( self, hour: u32, min: u32, sec: u32, nano: u32, ) -> MappedLocalTime<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>
impl<T: Debug> LocalResult<T>
sourcepub fn unwrap(self) -> T
pub fn unwrap(self) -> T
Returns a single unique conversion result or panics.
unwrap()
is best combined with time zone types where the mapping can never fail like
Utc
and FixedOffset
. Note that for FixedOffset
there is a rare case where a
resulting DateTime
can be out of range.
§Panics
Panics if the local time falls within a fold or a gap in the local time, and on any
error that may have been returned by the type implementing TimeZone
.
Trait Implementations§
source§impl<T: Clone> Clone for LocalResult<T>
impl<T: Clone> Clone for LocalResult<T>
source§fn clone(&self) -> LocalResult<T>
fn clone(&self) -> LocalResult<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T: Debug> Debug for LocalResult<T>
impl<T: Debug> Debug for LocalResult<T>
source§impl<T: Hash> Hash for LocalResult<T>
impl<T: Hash> Hash for LocalResult<T>
source§impl<T: PartialEq> PartialEq for LocalResult<T>
impl<T: PartialEq> PartialEq for LocalResult<T>
impl<T: Copy> Copy for LocalResult<T>
impl<T: Eq> Eq for LocalResult<T>
impl<T> StructuralPartialEq for LocalResult<T>
Auto Trait Implementations§
impl<T> Freeze for LocalResult<T>where
T: Freeze,
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> 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
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)
clone_to_uninit
)