Trait time::ext::NumericalDuration [−][src]
pub trait NumericalDuration: Sealed { fn nanoseconds(self) -> Duration; fn microseconds(self) -> Duration; fn milliseconds(self) -> Duration; fn seconds(self) -> Duration; fn minutes(self) -> Duration; fn hours(self) -> Duration; fn days(self) -> Duration; fn weeks(self) -> Duration; }
Expand description
Create Duration
s from primitive and core numeric types.
Due to limitations in rustc, these methods are currently not const fn
. See
RFC 2632 for details.
Examples
Basic construction of Duration
s.
assert_eq!(5.nanoseconds(), Duration::nanoseconds(5)); assert_eq!(5.microseconds(), Duration::microseconds(5)); assert_eq!(5.milliseconds(), Duration::milliseconds(5)); assert_eq!(5.seconds(), Duration::seconds(5)); assert_eq!(5.minutes(), Duration::minutes(5)); assert_eq!(5.hours(), Duration::hours(5)); assert_eq!(5.days(), Duration::days(5)); assert_eq!(5.weeks(), Duration::weeks(5));Run
Signed integers work as well!
assert_eq!((-5).nanoseconds(), Duration::nanoseconds(-5)); assert_eq!((-5).microseconds(), Duration::microseconds(-5)); assert_eq!((-5).milliseconds(), Duration::milliseconds(-5)); assert_eq!((-5).seconds(), Duration::seconds(-5)); assert_eq!((-5).minutes(), Duration::minutes(-5)); assert_eq!((-5).hours(), Duration::hours(-5)); assert_eq!((-5).days(), Duration::days(-5)); assert_eq!((-5).weeks(), Duration::weeks(-5));Run
Just like any other Duration
, they can be added, subtracted, etc.
assert_eq!(2.seconds() + 500.milliseconds(), 2_500.milliseconds()); assert_eq!(2.seconds() - 500.milliseconds(), 1_500.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
fn nanoseconds(self) -> Duration
[src]
fn nanoseconds(self) -> Duration
[src]Create a Duration
from the number of nanoseconds.
fn microseconds(self) -> Duration
[src]
fn microseconds(self) -> Duration
[src]Create a Duration
from the number of microseconds.
Implementations on Foreign Types
impl NumericalDuration for i64
[src]
impl NumericalDuration for i64
[src]impl NumericalDuration for f64
[src]
impl NumericalDuration for f64
[src]