kvarn::prelude::chrono

Trait NumericalStdDuration

pub trait NumericalStdDuration: Sealed {
    // Required methods
    fn std_nanoseconds(self) -> Duration;
    fn std_microseconds(self) -> Duration;
    fn std_milliseconds(self) -> Duration;
    fn std_seconds(self) -> Duration;
    fn std_minutes(self) -> Duration;
    fn std_hours(self) -> Duration;
    fn std_days(self) -> Duration;
    fn std_weeks(self) -> Duration;
}
Expand description

Create std::time::Durations from numeric literals.

ยงExamples

Basic construction of std::time::Durations.

assert_eq!(5.std_nanoseconds(), Duration::from_nanos(5));
assert_eq!(5.std_microseconds(), Duration::from_micros(5));
assert_eq!(5.std_milliseconds(), Duration::from_millis(5));
assert_eq!(5.std_seconds(), Duration::from_secs(5));
assert_eq!(5.std_minutes(), Duration::from_secs(5 * 60));
assert_eq!(5.std_hours(), Duration::from_secs(5 * 3_600));
assert_eq!(5.std_days(), Duration::from_secs(5 * 86_400));
assert_eq!(5.std_weeks(), Duration::from_secs(5 * 604_800));

Just like any other std::time::Duration, they can be added, subtracted, etc.

assert_eq!(
    2.std_seconds() + 500.std_milliseconds(),
    2_500.std_milliseconds()
);
assert_eq!