pub struct Duration { /* private fields */ }
Expand description
ISO 8601 time duration with nanosecond precision. This also allows for the negative duration; see individual methods for details.
Implementations
sourceimpl Duration
impl Duration
sourcepub fn weeks(weeks: i64) -> Duration
pub fn weeks(weeks: i64) -> Duration
Makes a new Duration
with given number of weeks.
Equivalent to Duration::seconds(weeks * 7 * 24 * 60 * 60)
with overflow checks.
Panics when the duration is out of bounds.
sourcepub fn days(days: i64) -> Duration
pub fn days(days: i64) -> Duration
Makes a new Duration
with given number of days.
Equivalent to Duration::seconds(days * 24 * 60 * 60)
with overflow checks.
Panics when the duration is out of bounds.
sourcepub fn hours(hours: i64) -> Duration
pub fn hours(hours: i64) -> Duration
Makes a new Duration
with given number of hours.
Equivalent to Duration::seconds(hours * 60 * 60)
with overflow checks.
Panics when the duration is out of bounds.
sourcepub fn minutes(minutes: i64) -> Duration
pub fn minutes(minutes: i64) -> Duration
Makes a new Duration
with given number of minutes.
Equivalent to Duration::seconds(minutes * 60)
with overflow checks.
Panics when the duration is out of bounds.
sourcepub fn seconds(seconds: i64) -> Duration
pub fn seconds(seconds: i64) -> Duration
Makes a new Duration
with given number of seconds.
Panics when the duration is more than i64::MAX
milliseconds
or less than i64::MIN
milliseconds.
sourcepub fn milliseconds(milliseconds: i64) -> Duration
pub fn milliseconds(milliseconds: i64) -> Duration
Makes a new Duration
with given number of milliseconds.
sourcepub fn microseconds(microseconds: i64) -> Duration
pub fn microseconds(microseconds: i64) -> Duration
Makes a new Duration
with given number of microseconds.
sourcepub fn nanoseconds(nanos: i64) -> Duration
pub fn nanoseconds(nanos: i64) -> Duration
Makes a new Duration
with given number of nanoseconds.
sourcepub fn span<F>(f: F) -> Durationwhere
F: FnOnce(),
pub fn span<F>(f: F) -> Durationwhere
F: FnOnce(),
Runs a closure, returning the duration of time it took to run the closure.
sourcepub fn num_minutes(&self) -> i64
pub fn num_minutes(&self) -> i64
Returns the total number of whole minutes in the duration.
sourcepub fn num_seconds(&self) -> i64
pub fn num_seconds(&self) -> i64
Returns the total number of whole seconds in the duration.
sourcepub fn num_milliseconds(&self) -> i64
pub fn num_milliseconds(&self) -> i64
Returns the total number of whole milliseconds in the duration,
sourcepub fn num_microseconds(&self) -> Option<i64>
pub fn num_microseconds(&self) -> Option<i64>
Returns the total number of whole microseconds in the duration,
or None
on overflow (exceeding 263 microseconds in either direction).
sourcepub fn num_nanoseconds(&self) -> Option<i64>
pub fn num_nanoseconds(&self) -> Option<i64>
Returns the total number of whole nanoseconds in the duration,
or None
on overflow (exceeding 263 nanoseconds in either direction).
sourcepub fn checked_add(&self, rhs: &Duration) -> Option<Duration>
pub fn checked_add(&self, rhs: &Duration) -> Option<Duration>
Add two durations, returning None
if overflow occurred.
sourcepub fn checked_sub(&self, rhs: &Duration) -> Option<Duration>
pub fn checked_sub(&self, rhs: &Duration) -> Option<Duration>
Subtract two durations, returning None
if overflow occurred.
sourcepub fn zero() -> Duration
pub fn zero() -> Duration
A duration where the stored seconds and nanoseconds are equal to zero.
sourcepub fn from_std(duration: StdDuration) -> Result<Duration, OutOfRangeError>
pub fn from_std(duration: StdDuration) -> Result<Duration, OutOfRangeError>
Creates a time::Duration
object from std::time::Duration
This function errors when original duration is larger than the maximum value supported for this type.
sourcepub fn to_std(&self) -> Result<StdDuration, OutOfRangeError>
pub fn to_std(&self) -> Result<StdDuration, OutOfRangeError>
Creates a std::time::Duration
object from time::Duration
This function errors when duration is less than zero. As standard library implementation is limited to non-negative values.
Trait Implementations
sourceimpl Add<Duration> for SteadyTime
impl Add<Duration> for SteadyTime
type Output = SteadyTime
type Output = SteadyTime
+
operator.sourcefn add(self, other: Duration) -> SteadyTime
fn add(self, other: Duration) -> SteadyTime
+
operation. Read moresourceimpl Ord for Duration
impl Ord for Duration
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
sourceimpl PartialOrd<Duration> for Duration
impl PartialOrd<Duration> for Duration
sourcefn partial_cmp(&self, other: &Duration) -> Option<Ordering>
fn partial_cmp(&self, other: &Duration) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl Sub<Duration> for SteadyTime
impl Sub<Duration> for SteadyTime
type Output = SteadyTime
type Output = SteadyTime
-
operator.sourcefn sub(self, other: Duration) -> SteadyTime
fn sub(self, other: Duration) -> SteadyTime
-
operation. Read more