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§
source§impl Clone for RoundingError
impl Clone for RoundingError
source§fn clone(&self) -> RoundingError
fn clone(&self) -> RoundingError
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RoundingError
impl Debug for RoundingError
source§impl Display for RoundingError
impl Display for RoundingError
source§impl Error for RoundingError
Available on crate feature std
only.
impl Error for RoundingError
Available on crate feature
std
only.source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
source§impl PartialEq<RoundingError> for RoundingError
impl PartialEq<RoundingError> for RoundingError
source§fn eq(&self, other: &RoundingError) -> bool
fn eq(&self, other: &RoundingError) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.