logo
pub trait NumericalStdDuration: Sealed {
    fn std_nanoseconds(self) -> StdDuration;
    fn std_microseconds(self) -> StdDuration;
    fn std_milliseconds(self) -> StdDuration;
    fn std_seconds(self) -> StdDuration;
    fn std_minutes(self) -> StdDuration;
    fn std_hours(self) -> StdDuration;
    fn std_days(self) -> StdDuration;
    fn std_weeks(self) -> StdDuration;
}
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));
Run

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!(
    2.std_seconds() - 500.std_milliseconds(),
    1_500.std_milliseconds()
);
Run

When called on floating point values, any remainder of the floating point value will be truncated. Keep in mind that floating point numbers are inherently imprecise and have limited capacity.

Required Methods

Create a std::time::Duration from the number of nanoseconds.

Create a std::time::Duration from the number of microseconds.

Create a std::time::Duration from the number of milliseconds.

Create a std::time::Duration from the number of seconds.

Create a std::time::Duration from the number of minutes.

Create a std::time::Duration from the number of hours.

Create a std::time::Duration from the number of days.

Create a std::time::Duration from the number of weeks.

Implementations on Foreign Types

Implementors