Enum chrono::RoundingError
source · [−]pub enum RoundingError {
DurationExceedsTimestamp,
DurationExceedsLimit,
TimestampExceedsLimit,
}
Expand description
An error from rounding by Duration
See: DurationRound
Variants
DurationExceedsTimestamp
Error when the Duration exceeds the Duration from or until the Unix epoch.
let dt = Utc.with_ymd_and_hms(1970, 12, 12, 0, 0, 0).unwrap();
assert_eq!(
dt.duration_round(Duration::days(365)),
Err(RoundingError::DurationExceedsTimestamp),
);
DurationExceedsLimit
Error when Duration.num_nanoseconds
exceeds the limit.
let dt = NaiveDate::from_ymd_opt(2260, 12, 31).unwrap().and_hms_nano_opt(23, 59, 59, 1_75_500_000).unwrap().and_local_timezone(Utc).unwrap();
assert_eq!(
dt.duration_round(Duration::days(300 * 365)),
Err(RoundingError::DurationExceedsLimit)
);
TimestampExceedsLimit
Error when DateTime.timestamp_nanos
exceeds the limit.
let dt = Utc.with_ymd_and_hms(2300, 12, 12, 0, 0, 0).unwrap();
assert_eq!(dt.duration_round(Duration::days(1)), Err(RoundingError::TimestampExceedsLimit),);
Trait Implementations
sourceimpl Clone for RoundingError
impl Clone for RoundingError
sourcefn clone(&self) -> RoundingError
fn clone(&self) -> RoundingError
Returns a copy of the value. Read more
1.0.0const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for RoundingError
impl Debug for RoundingError
sourceimpl Display for RoundingError
impl Display for RoundingError
sourceimpl Error for RoundingError
impl Error for RoundingError
sourcefn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0fn cause(&self) -> Option<&dyn Error>
fn cause(&self) -> Option<&dyn Error>
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
sourceimpl PartialEq<RoundingError> for RoundingError
impl PartialEq<RoundingError> for RoundingError
sourcefn eq(&self, other: &RoundingError) -> bool
fn eq(&self, other: &RoundingError) -> bool
impl Copy for RoundingError
impl Eq for RoundingError
impl StructuralEq for RoundingError
impl StructuralPartialEq for RoundingError
Auto Trait Implementations
impl RefUnwindSafe for RoundingError
impl Send for RoundingError
impl Sync for RoundingError
impl Unpin for RoundingError
impl UnwindSafe for RoundingError
Blanket Implementations
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstablefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ToOwned for Twhere
T: Clone,
impl<T> ToOwned for Twhere
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more