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
impl Error for RoundingError
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 ==
.