Duration

Struct Duration 

Source
pub struct Duration(/* private fields */);
Expand description

A duration type to represent an approximate span of time

Implementations§

Source§

impl Duration

Source

pub fn new(sec: u64, nanos: u32) -> Duration

Creates a new Duration from the specified number of seconds and additional nanosecond precision

Source

pub fn from_days(days: u64) -> Duration

Creates a new Duration from the specified number of days

Source

pub fn from_hours(hours: u64) -> Duration

Creates a new Duration from the specified number of hours

Source

pub fn from_mins(mins: u64) -> Duration

Creates a new Duration from the specified number of minutes

Source

pub fn from_secs(secs: u64) -> Duration

Creates a new Duration from the specified number of seconds

Source

pub fn from_millis(millis: u64) -> Duration

Creates a new Duration from the specified number of milliseconds

Source

pub fn as_days(&self) -> u64

Returns the number of days represented by this duration

Source

pub fn as_hours(&self) -> u64

Returns the number of minutes represented by this duration

Source

pub fn as_mins(&self) -> u64

Returns the number of minutes represented by this duration

Source

pub fn as_secs(&self) -> u64

Returns the number of whole seconds represented by this duration

Source

pub fn as_millis(&self) -> u64

Returns the number of whole milliseconds represented by this duration

Source

pub fn as_micros(&self) -> u64

Returns the number of whole microseconds represented by this duration

Source

pub fn as_nanos(&self) -> u64

Returns the number of whole nanoseconds represented by this duration

Source

pub fn subsec_nanos(&self) -> u32

Returns the nanosecond precision represented by this duration

Source

pub fn as_ticks(&self) -> u64

Return this duration as a number of “ticks”.

Note that length of a ‘tick’ is not guaranteed to represent the same amount of time across different platforms, or from one version of coarsetime to another.

Source

pub fn from_ticks(ticks: u64) -> Duration

Creates a new Duration from the specified number of “ticks”.

Note that length of a ‘tick’ is not guaranteed to represent the same amount of time across different platforms, or from one version of coarsetime to another.

Source

pub fn as_f64(&self) -> f64

Returns the duration as a floating point number, representing the number of seconds

Source

pub fn abs_diff(&self, other: Duration) -> Duration

Returns the absolute difference between two Durations

Source

pub fn saturating_add(self, rhs: Duration) -> Duration

Add two durations, saturating on overflow

Source

pub fn checked_add(self, rhs: Duration) -> Option<Duration>

Add two durations, returning None on overflow

Source

pub fn saturating_sub(self, rhs: Duration) -> Duration

Subtract two durations, saturating on underflow/overflow

Source

pub fn checked_sub(self, rhs: Duration) -> Option<Duration>

Subtract two durations, returning None on underflow/overflow

Source

pub fn saturating_mul(self, rhs: u32) -> Duration

Multiply a duration by a scalar, saturating on overflow

Source

pub fn checked_mul(self, rhs: u32) -> Option<Duration>

Multiply a duration by a scalar, returning None on overflow

Source

pub fn checked_div(self, rhs: u32) -> Option<Duration>

Divide a duration by a scalar, returning None for division by zero

Trait Implementations§

Source§

impl Add<Duration> for Instant

Source§

type Output = Instant

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Duration) -> Instant

Performs the + operation. Read more
Source§

impl Add for Duration

Source§

type Output = Duration

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Duration) -> Duration

Performs the + operation. Read more
Source§

impl AddAssign<Duration> for Instant

Source§

fn add_assign(&mut self, rhs: Duration)

Performs the += operation. Read more
Source§

impl AddAssign for Duration

Source§

fn add_assign(&mut self, rhs: Duration)

Performs the += operation. Read more
Source§

impl Clone for Duration

Source§

fn clone(&self) -> Duration

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Duration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Duration

Source§

fn default() -> Duration

Returns the “default value” for a type. Read more
Source§

impl Div<u32> for Duration

Source§

type Output = Duration

The resulting type after applying the / operator.
Source§

fn div(self, rhs: u32) -> Duration

Performs the / operation. Read more
Source§

impl DivAssign<u32> for Duration

Source§

fn div_assign(&mut self, rhs: u32)

Performs the /= operation. Read more
Source§

impl From<Duration> for Duration

Source§

fn from(duration: Duration) -> Duration

Converts to this type from the input type.
Source§

impl From<Duration> for Duration

Source§

fn from(duration_sys: Duration) -> Duration

Converts to this type from the input type.
Source§

impl Hash for Duration

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Mul<u32> for Duration

Source§

type Output = Duration

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: u32) -> Duration

Performs the * operation. Read more
Source§

impl MulAssign<u32> for Duration

Source§

fn mul_assign(&mut self, rhs: u32)

Performs the *= operation. Read more
Source§

impl Ord for Duration

Source§

fn cmp(&self, other: &Duration) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Duration

Source§

fn eq(&self, other: &Duration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Duration

Source§

fn partial_cmp(&self, other: &Duration) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub<Duration> for Instant

Source§

type Output = Instant

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Duration) -> Instant

Performs the - operation. Read more
Source§

impl Sub for Duration

Source§

type Output = Duration

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Duration) -> Duration

Performs the - operation. Read more
Source§

impl SubAssign<Duration> for Instant

Source§

fn sub_assign(&mut self, rhs: Duration)

Performs the -= operation. Read more
Source§

impl SubAssign for Duration

Source§

fn sub_assign(&mut self, rhs: Duration)

Performs the -= operation. Read more
Source§

impl Copy for Duration

Source§

impl Eq for Duration

Source§

impl StructuralPartialEq for Duration

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes