Trait NumericalStdDuration

trait NumericalStdDuration: sealed::Sealed

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

Examples

Basic construction of std::time::Durations.

# use time::ext::NumericalStdDuration;
# use core::time::Duration;
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.

# use time::ext::NumericalStdDuration;
assert_eq!(
    2.std_seconds() + 500.std_milliseconds(),
    2_500.std_milliseconds()
);
assert_eq!(
    2.std_seconds() - 500.std_milliseconds(),
    1_500.std_milliseconds()
);

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

fn std_nanoseconds(self: Self) -> StdDuration

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

fn std_microseconds(self: Self) -> StdDuration

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

fn std_milliseconds(self: Self) -> StdDuration

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

fn std_seconds(self: Self) -> StdDuration

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

fn std_minutes(self: Self) -> StdDuration

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

fn std_hours(self: Self) -> StdDuration

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

fn std_days(self: Self) -> StdDuration

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

fn std_weeks(self: Self) -> StdDuration

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

Implementors