Trait NumericalDuration

trait NumericalDuration: sealed::Sealed

Create Durations from numeric literals.

Examples

Basic construction of Durations.

# use time::{Duration, ext::NumericalDuration};
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));

Signed integers work as well!

# use time::{Duration, ext::NumericalDuration};
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));

Just like any other Duration, they can be added, subtracted, etc.

# use time::ext::NumericalDuration;
assert_eq!(2.seconds() + 500.milliseconds(), 2_500.milliseconds());
assert_eq!(2.seconds() - 500.milliseconds(), 1_500.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 nanoseconds(self: Self) -> Duration

Create a Duration from the number of nanoseconds.

fn microseconds(self: Self) -> Duration

Create a Duration from the number of microseconds.

fn milliseconds(self: Self) -> Duration

Create a Duration from the number of milliseconds.

fn seconds(self: Self) -> Duration

Create a Duration from the number of seconds.

fn minutes(self: Self) -> Duration

Create a Duration from the number of minutes.

fn hours(self: Self) -> Duration

Create a Duration from the number of hours.

fn days(self: Self) -> Duration

Create a Duration from the number of days.

fn weeks(self: Self) -> Duration

Create a Duration from the number of weeks.

Implementors