Struct time::Duration [−][src]
pub struct Duration { /* fields omitted */ }
ISO 8601 time duration with nanosecond precision. This also allows for the negative duration; see individual methods for details.
Methods
impl Duration
[src]
impl Duration
pub fn weeks(weeks: i64) -> Duration
[src]
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.
pub fn days(days: i64) -> Duration
[src]
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.
pub fn hours(hours: i64) -> Duration
[src]
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.
pub fn minutes(minutes: i64) -> Duration
[src]
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.
pub fn seconds(seconds: i64) -> Duration
[src]
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.
pub fn milliseconds(milliseconds: i64) -> Duration
[src]
pub fn milliseconds(milliseconds: i64) -> Duration
Makes a new Duration
with given number of milliseconds.
pub fn microseconds(microseconds: i64) -> Duration
[src]
pub fn microseconds(microseconds: i64) -> Duration
Makes a new Duration
with given number of microseconds.
pub fn nanoseconds(nanos: i64) -> Duration
[src]
pub fn nanoseconds(nanos: i64) -> Duration
Makes a new Duration
with given number of nanoseconds.
pub fn span<F>(f: F) -> Duration where
F: FnOnce(),
[src]
pub fn span<F>(f: F) -> Duration where
F: FnOnce(),
Runs a closure, returning the duration of time it took to run the closure.
pub fn num_weeks(&self) -> i64
[src]
pub fn num_weeks(&self) -> i64
Returns the total number of whole weeks in the duration.
pub fn num_days(&self) -> i64
[src]
pub fn num_days(&self) -> i64
Returns the total number of whole days in the duration.
pub fn num_hours(&self) -> i64
[src]
pub fn num_hours(&self) -> i64
Returns the total number of whole hours in the duration.
pub fn num_minutes(&self) -> i64
[src]
pub fn num_minutes(&self) -> i64
Returns the total number of whole minutes in the duration.
pub fn num_seconds(&self) -> i64
[src]
pub fn num_seconds(&self) -> i64
Returns the total number of whole seconds in the duration.
pub fn num_milliseconds(&self) -> i64
[src]
pub fn num_milliseconds(&self) -> i64
Returns the total number of whole milliseconds in the duration,
pub fn num_microseconds(&self) -> Option<i64>
[src]
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).
pub fn num_nanoseconds(&self) -> Option<i64>
[src]
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).
pub fn checked_add(&self, rhs: &Duration) -> Option<Duration>
[src]
pub fn checked_add(&self, rhs: &Duration) -> Option<Duration>
Add two durations, returning None
if overflow occurred.
pub fn checked_sub(&self, rhs: &Duration) -> Option<Duration>
[src]
pub fn checked_sub(&self, rhs: &Duration) -> Option<Duration>
Subtract two durations, returning None
if overflow occurred.
pub fn min_value() -> Duration
[src]
pub fn min_value() -> Duration
The minimum possible Duration
: i64::MIN
milliseconds.
pub fn max_value() -> Duration
[src]
pub fn max_value() -> Duration
The maximum possible Duration
: i64::MAX
milliseconds.
pub fn zero() -> Duration
[src]
pub fn zero() -> Duration
A duration where the stored seconds and nanoseconds are equal to zero.
pub fn is_zero(&self) -> bool
[src]
pub fn is_zero(&self) -> bool
Returns true
if the duration equals Duration::zero()
.
pub fn from_std(duration: StdDuration) -> Result<Duration, OutOfRangeError>
[src]
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.
pub fn to_std(&self) -> Result<StdDuration, OutOfRangeError>
[src]
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
impl Clone for Duration
[src]
impl Clone for Duration
fn clone(&self) -> Duration
[src]
fn clone(&self) -> Duration
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for Duration
[src]
impl Copy for Duration
impl PartialEq for Duration
[src]
impl PartialEq for Duration
fn eq(&self, other: &Duration) -> bool
[src]
fn eq(&self, other: &Duration) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Duration) -> bool
[src]
fn ne(&self, other: &Duration) -> bool
This method tests for !=
.
impl Eq for Duration
[src]
impl Eq for Duration
impl PartialOrd for Duration
[src]
impl PartialOrd for Duration
fn partial_cmp(&self, other: &Duration) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Duration) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Duration) -> bool
[src]
fn lt(&self, other: &Duration) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Duration) -> bool
[src]
fn le(&self, other: &Duration) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Duration) -> bool
[src]
fn gt(&self, other: &Duration) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Duration) -> bool
[src]
fn ge(&self, other: &Duration) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for Duration
[src]
impl Ord for Duration
fn cmp(&self, other: &Duration) -> Ordering
[src]
fn cmp(&self, other: &Duration) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl Debug for Duration
[src]
impl Debug for Duration
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Neg for Duration
[src]
impl Neg for Duration
type Output = Duration
The resulting type after applying the -
operator.
fn neg(self) -> Duration
[src]
fn neg(self) -> Duration
Performs the unary -
operation.
impl Add for Duration
[src]
impl Add for Duration
type Output = Duration
The resulting type after applying the +
operator.
fn add(self, rhs: Duration) -> Duration
[src]
fn add(self, rhs: Duration) -> Duration
Performs the +
operation.
impl Sub for Duration
[src]
impl Sub for Duration
type Output = Duration
The resulting type after applying the -
operator.
fn sub(self, rhs: Duration) -> Duration
[src]
fn sub(self, rhs: Duration) -> Duration
Performs the -
operation.
impl Mul<i32> for Duration
[src]
impl Mul<i32> for Duration
type Output = Duration
The resulting type after applying the *
operator.
fn mul(self, rhs: i32) -> Duration
[src]
fn mul(self, rhs: i32) -> Duration
Performs the *
operation.
impl Div<i32> for Duration
[src]
impl Div<i32> for Duration
type Output = Duration
The resulting type after applying the /
operator.
fn div(self, rhs: i32) -> Duration
[src]
fn div(self, rhs: i32) -> Duration
Performs the /
operation.
impl Display for Duration
[src]
impl Display for Duration
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Add<Duration> for Timespec
[src]
impl Add<Duration> for Timespec
type Output = Timespec
The resulting type after applying the +
operator.
fn add(self, other: Duration) -> Timespec
[src]
fn add(self, other: Duration) -> Timespec
Performs the +
operation.
impl Sub<Duration> for Timespec
[src]
impl Sub<Duration> for Timespec
type Output = Timespec
The resulting type after applying the -
operator.
fn sub(self, other: Duration) -> Timespec
[src]
fn sub(self, other: Duration) -> Timespec
Performs the -
operation.
impl Sub<Duration> for SteadyTime
[src]
impl Sub<Duration> for SteadyTime
type Output = SteadyTime
The resulting type after applying the -
operator.
fn sub(self, other: Duration) -> SteadyTime
[src]
fn sub(self, other: Duration) -> SteadyTime
Performs the -
operation.
impl Add<Duration> for SteadyTime
[src]
impl Add<Duration> for SteadyTime
type Output = SteadyTime
The resulting type after applying the +
operator.
fn add(self, other: Duration) -> SteadyTime
[src]
fn add(self, other: Duration) -> SteadyTime
Performs the +
operation.
impl Add<Duration> for Tm
[src]
impl Add<Duration> for Tm
type Output = Tm
The resulting type after applying the +
operator.
fn add(self, other: Duration) -> Tm
[src]
fn add(self, other: Duration) -> Tm
The resulting Tm is in UTC.
impl Sub<Duration> for Tm
[src]
impl Sub<Duration> for Tm