pub struct Duration(/* private fields */);Expand description
A signed time interval with nanosecond precision.
Duration represents a span of time and is independent of any time scale,
reference system, or calendar.
§Precision
Nanosecond resolution.
§Range
Approximately ±2^63 nanoseconds (~292 years).
§Examples
use gnss_time::Duration;
let a = Duration::from_seconds(1);
let b = Duration::from_millis(500);
assert_eq!(a - b, b);
let neg = -a;
assert_eq!(neg.as_nanos(), -1_000_000_000);Implementations§
Source§impl Duration
impl Duration
Sourcepub const ONE_NANOSECOND: Duration
pub const ONE_NANOSECOND: Duration
One nanosecond.
Sourcepub const ONE_SECOND: Duration
pub const ONE_SECOND: Duration
One second.
Sourcepub const fn from_nanos(nanos: i64) -> Self
pub const fn from_nanos(nanos: i64) -> Self
Creates a Duration from nanoseconds.
Sourcepub const fn from_micros(micros: i64) -> Self
pub const fn from_micros(micros: i64) -> Self
Creates a Duration from microseconds.
Sourcepub const fn from_millis(millis: i64) -> Self
pub const fn from_millis(millis: i64) -> Self
Creates a Duration from milliseconds.
Sourcepub const fn from_seconds(secs: i64) -> Self
pub const fn from_seconds(secs: i64) -> Self
Creates a Duration from seconds.
Sourcepub const fn from_minutes(mins: i64) -> Self
pub const fn from_minutes(mins: i64) -> Self
Creates a Duration from minutes.
Sourcepub const fn from_hours(hours: i64) -> Self
pub const fn from_hours(hours: i64) -> Self
Creates a Duration from hours.
Sourcepub const fn checked_from_micros(micros: i64) -> Option<Self>
pub const fn checked_from_micros(micros: i64) -> Option<Self>
Creates a Duration from microseconds, returning None on overflow.
Sourcepub const fn checked_from_millis(millis: i64) -> Option<Self>
pub const fn checked_from_millis(millis: i64) -> Option<Self>
Creates a Duration from milliseconds, returning None on overflow.
Sourcepub const fn checked_from_seconds(secs: i64) -> Option<Self>
pub const fn checked_from_seconds(secs: i64) -> Option<Self>
Creates a Duration from seconds, returning None on overflow.
Sourcepub const fn as_seconds(self) -> i64
pub const fn as_seconds(self) -> i64
Returns whole seconds (truncated toward zero).
Sourcepub fn as_seconds_f64(self) -> f64
pub fn as_seconds_f64(self) -> f64
Returns seconds as f64.
Sourcepub const fn is_positive(self) -> bool
pub const fn is_positive(self) -> bool
Returns true if positive.
Sourcepub const fn is_negative(self) -> bool
pub const fn is_negative(self) -> bool
Returns true if negative.
Sourcepub const fn checked_add(self, rhs: Duration) -> Option<Duration>
pub const fn checked_add(self, rhs: Duration) -> Option<Duration>
Checked addition.
Sourcepub const fn checked_sub(self, rhs: Duration) -> Option<Duration>
pub const fn checked_sub(self, rhs: Duration) -> Option<Duration>
Checked subtraction.
Sourcepub const fn saturating_add(self, rhs: Duration) -> Duration
pub const fn saturating_add(self, rhs: Duration) -> Duration
Saturating addition.
Sourcepub const fn saturating_sub(self, rhs: Duration) -> Duration
pub const fn saturating_sub(self, rhs: Duration) -> Duration
Saturating subtraction.
Trait Implementations§
Source§impl<S: TimeScale> AddAssign<Duration> for Time<S>
impl<S: TimeScale> AddAssign<Duration> for Time<S>
Source§fn add_assign(&mut self, rhs: Duration)
fn add_assign(&mut self, rhs: Duration)
+= operation. Read moreSource§impl AddAssign for Duration
impl AddAssign for Duration
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl Ord for Duration
impl Ord for Duration
Source§impl PartialOrd for Duration
impl PartialOrd for Duration
Source§impl<S: TimeScale> SubAssign<Duration> for Time<S>
impl<S: TimeScale> SubAssign<Duration> for Time<S>
Source§fn sub_assign(&mut self, rhs: Duration)
fn sub_assign(&mut self, rhs: Duration)
-= operation. Read moreSource§impl SubAssign for Duration
impl SubAssign for Duration
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read more