Trait time::ext::NumericalDuration [−][src]
pub trait NumericalDuration {
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;
}Create Durations 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 Durations.
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]
Create a Duration from the number of nanoseconds.
fn microseconds(self) -> Duration[src]
Create a Duration from the number of microseconds.
fn milliseconds(self) -> Duration[src]
Create a Duration from the number of milliseconds.
fn seconds(self) -> Duration[src]
Create a Duration from the number of seconds.
fn minutes(self) -> Duration[src]
Create a Duration from the number of minutes.
fn hours(self) -> Duration[src]
Create a Duration from the number of hours.
fn days(self) -> Duration[src]
Create a Duration from the number of days.
fn weeks(self) -> Duration[src]
Create a Duration from the number of weeks.