Trait SystemTimeExt

pub trait SystemTimeExt: Sealed

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

Required Methods

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

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

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

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

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

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 SignedDuration, the value will be saturated to SignedDuration::MIN or SignedDuration::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