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 Durations from numeric literals.
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
fn nanoseconds(self) -> Duration
Create a Duration from the number of nanoseconds.
fn microseconds(self) -> Duration
fn microseconds(self) -> Duration
Create a Duration from the number of microseconds.
fn milliseconds(self) -> Duration
fn milliseconds(self) -> Duration
Create a Duration from the number of milliseconds.