Trait time::ext::NumericalStdDuration [−][src]
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
[src]
fn std_nanoseconds(self) -> StdDuration
[src]Create a std::time::Duration
from the number of nanoseconds.
fn std_microseconds(self) -> StdDuration
[src]
fn std_microseconds(self) -> StdDuration
[src]Create a std::time::Duration
from the number of microseconds.
fn std_milliseconds(self) -> StdDuration
[src]
fn std_milliseconds(self) -> StdDuration
[src]Create a std::time::Duration
from the number of milliseconds.
fn std_seconds(self) -> StdDuration
[src]
fn std_seconds(self) -> StdDuration
[src]Create a std::time::Duration
from the number of seconds.
fn std_minutes(self) -> StdDuration
[src]
fn std_minutes(self) -> StdDuration
[src]Create a std::time::Duration
from the number of minutes.
fn std_hours(self) -> StdDuration
[src]
fn std_hours(self) -> StdDuration
[src]Create a std::time::Duration
from the number of hours.
fn std_days(self) -> StdDuration
[src]
fn std_days(self) -> StdDuration
[src]Create a std::time::Duration
from the number of days.
fn std_weeks(self) -> StdDuration
[src]
fn std_weeks(self) -> StdDuration
[src]Create a std::time::Duration
from the number of weeks.
Implementations on Foreign Types
Implement on i32
because that’s the default type for integers. This
performs a runtime check and panics if the value is negative.
Implement on f64
because that’s the default type for floats. This performs
a runtime check and panics if the value is negative.