Trait pavex::time::ext::NumericalStdDuration
pub trait NumericalStdDuration: Sealed {
// Required methods
fn std_nanoseconds(self) -> Duration;
fn std_microseconds(self) -> Duration;
fn std_milliseconds(self) -> Duration;
fn std_seconds(self) -> Duration;
fn std_minutes(self) -> Duration;
fn std_hours(self) -> Duration;
fn std_days(self) -> Duration;
fn std_weeks(self) -> Duration;
}
Expand description
Create std::time::Duration
s from numeric literals.
§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) -> Duration
fn std_nanoseconds(self) -> Duration
Create a std::time::Duration
from the number of nanoseconds.
fn std_microseconds(self) -> Duration
fn std_microseconds(self) -> Duration
Create a std::time::Duration
from the number of microseconds.
fn std_milliseconds(self) -> Duration
fn std_milliseconds(self) -> Duration
Create a std::time::Duration
from the number of milliseconds.
fn std_seconds(self) -> Duration
fn std_seconds(self) -> Duration
Create a std::time::Duration
from the number of seconds.
fn std_minutes(self) -> Duration
fn std_minutes(self) -> Duration
Create a std::time::Duration
from the number of minutes.
fn std_hours(self) -> Duration
fn std_hours(self) -> Duration
Create a std::time::Duration
from the number of hours.
fn std_days(self) -> Duration
fn std_days(self) -> Duration
Create a std::time::Duration
from the number of days.
fn std_weeks(self) -> Duration
fn std_weeks(self) -> Duration
Create a std::time::Duration
from the number of weeks.
Implementations on Foreign Types§
§impl NumericalStdDuration for f64
impl NumericalStdDuration for f64
§fn std_nanoseconds(self) -> Duration
fn std_nanoseconds(self) -> Duration
§Panics
This will panic if self is negative.
§fn std_microseconds(self) -> Duration
fn std_microseconds(self) -> Duration
§Panics
This will panic if self is negative.
§fn std_milliseconds(self) -> Duration
fn std_milliseconds(self) -> Duration
§Panics
This will panic if self is negative.
§fn std_seconds(self) -> Duration
fn std_seconds(self) -> Duration
§Panics
This will panic if self is negative.
§fn std_minutes(self) -> Duration
fn std_minutes(self) -> Duration
§Panics
This will panic if self is negative.
§impl NumericalStdDuration for u64
impl NumericalStdDuration for u64
§fn std_minutes(self) -> Duration
fn std_minutes(self) -> Duration
§Panics
This may panic if an overflow occurs.