Trait SystemTimeExt

trait SystemTimeExt: sealed::Sealed

An extension trait for std::time::SystemTime that adds methods for time::Durations.

Required Methods

fn checked_add_signed(self: &Self, duration: Duration) -> Option<Self>

Adds the given Duration to the SystemTime, returning None is the result cannot be represented by the underlying data structure.

fn checked_sub_signed(self: &Self, duration: Duration) -> Option<Self>

Subtracts the given Duration from the SystemTime, returning None is the result cannot be represented by the underlying data structure.

fn signed_duration_since(self: &Self, earlier: Self) -> Duration

Returns the amount of time elapsed from another SystemTime to this one. This will be negative if earlier is later than self.

If the duration cannot be stored by Duration, the value will be saturated to Duration::MIN or Duration::MAX as appropriate.

Example

# use std::time::SystemTime;
# use time::ext::{NumericalDuration, SystemTimeExt};
let epoch = SystemTime::UNIX_EPOCH;
let other = epoch + 1.seconds();
assert_eq!(other.signed_duration_since(epoch), 1.seconds());
assert_eq!(epoch.signed_duration_since(other), (-1).seconds());

Implementors