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.ymd(1970, 12, 12).and_hms(0, 0, 0);
assert_eq!(
dt.duration_round(Duration::days(365)),
Err(RoundingError::DurationExceedsTimestamp),
);
DurationExceedsLimit
Error when Duration.num_nanoseconds
exceeds the limit.
let dt = Utc.ymd(2260, 12, 31).and_hms_nano(23, 59, 59, 1_75_500_000);
assert_eq!(
dt.duration_round(Duration::days(300 * 365)),
Err(RoundingError::DurationExceedsLimit)
);
TimestampExceedsLimit
Error when DateTime.timestamp_nanos
exceeds the limit.
let dt = Utc.ymd(2300, 12, 12).and_hms(0, 0, 0);
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