Trait time::ext::NumericalStdDuration
source · [−]pub trait NumericalStdDuration {
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::Duration
s from primitive and core numeric types.
This trait can be imported (alongside others) with use time::prelude::*
.
Due to limitations in rustc, these methods are currently not const fn
.
See RFC 2632 for details.
Examples
Basic construction of std::time::Duration
s.
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!(
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) -> StdDuration
fn std_nanoseconds(self) -> StdDuration
Create a std::time::Duration
from the number of nanoseconds.
fn std_microseconds(self) -> StdDuration
fn std_microseconds(self) -> StdDuration
Create a std::time::Duration
from the number of microseconds.
fn std_milliseconds(self) -> StdDuration
fn std_milliseconds(self) -> StdDuration
Create a std::time::Duration
from the number of milliseconds.
fn std_seconds(self) -> StdDuration
fn std_seconds(self) -> StdDuration
Create a std::time::Duration
from the number of seconds.
fn std_minutes(self) -> StdDuration
fn std_minutes(self) -> StdDuration
Create a std::time::Duration
from the number of minutes.
fn std_hours(self) -> StdDuration
fn std_hours(self) -> StdDuration
Create a std::time::Duration
from the number of hours.
fn std_days(self) -> StdDuration
fn std_days(self) -> StdDuration
Create a std::time::Duration
from the number of days.
fn std_weeks(self) -> StdDuration
fn std_weeks(self) -> StdDuration
Create a std::time::Duration
from the number of weeks.
Implementations on Foreign Types
sourceimpl NumericalStdDuration for u8
impl NumericalStdDuration for u8
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
sourceimpl NumericalStdDuration for u16
impl NumericalStdDuration for u16
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
sourceimpl NumericalStdDuration for u32
impl NumericalStdDuration for u32
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
sourceimpl NumericalStdDuration for u64
impl NumericalStdDuration for u64
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
sourceimpl NumericalStdDuration for NonZeroU8
impl NumericalStdDuration for NonZeroU8
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
sourceimpl NumericalStdDuration for NonZeroU16
impl NumericalStdDuration for NonZeroU16
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
sourceimpl NumericalStdDuration for NonZeroU32
impl NumericalStdDuration for NonZeroU32
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
sourceimpl NumericalStdDuration for NonZeroU64
impl NumericalStdDuration for NonZeroU64
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
sourceimpl NumericalStdDuration for i32
impl NumericalStdDuration for i32
Implement on i32
because that’s the default type for integers. This
performs a runtime check and panics if the value is negative.
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
sourceimpl NumericalStdDuration for f64
impl NumericalStdDuration for f64
Implement on f64
because that’s the default type for floats. This performs
a runtime check and panics if the value is negative.