pub struct Interval {
pub months: i64,
pub days: i64,
pub nanos: i128,
}Expand description
Calendar-aware time interval.
Stores months, days, and nanoseconds separately to preserve semantics.
Fields§
§months: i64§days: i64§nanos: i128Implementations§
Source§impl Interval
impl Interval
pub const ZERO: Interval
pub const DAYS_IN_MONTH: f64 = 30.0
pub const DAYS_IN_MONTH_AVG: f64 = 30.436875
pub const SECS_IN_DAY: i64
pub const NANOS_IN_SEC: i128 = 1_000_000_000
pub const NANOS_IN_HOUR: i128
pub const NANOS_IN_DAY: i128
pub const MICROS_IN_DAY: i128
pub const fn new(months: i64, days: i64, nanos: i128) -> Self
pub const fn from_duration(duration: &Duration) -> Self
pub const fn from_nanos(value: i128) -> Self
pub const fn from_micros(value: i128) -> Self
pub const fn from_millis(value: i128) -> Self
pub const fn from_secs(value: i64) -> Self
pub const fn from_mins(value: i64) -> Self
pub const fn from_hours(value: i64) -> Self
pub const fn from_days(value: i64) -> Self
pub const fn from_weeks(value: i64) -> Self
pub const fn from_months(value: i64) -> Self
pub const fn from_years(value: i64) -> Self
Sourcepub const fn as_hmsns(&self) -> (i128, u8, u8, u32)
pub const fn as_hmsns(&self) -> (i128, u8, u8, u32)
Deconstruct into (hours, minutes, seconds, nanoseconds).
pub const fn is_zero(&self) -> bool
Sourcepub const fn as_duration(&self, days_in_month: f64) -> Duration
pub const fn as_duration(&self, days_in_month: f64) -> Duration
Convert to std::time::Duration (approximate).
Uses days_in_month for conversion.
pub const fn units_and_factors(&self) -> &[(IntervalUnit, i128)]
Sourcepub fn units_mask(&self) -> u8
pub fn units_mask(&self) -> u8
Identify non-zero components (year, month, etc.).
Sourcepub fn unit_value(&self, unit: IntervalUnit) -> i128
pub fn unit_value(&self, unit: IntervalUnit) -> i128
Extract value for a specific unit (e.g. number of full years).
Trait Implementations§
Source§impl AddAssign for Interval
impl AddAssign for Interval
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl SubAssign for Interval
impl SubAssign for Interval
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-= operation. Read moreimpl Copy for Interval
impl Eq for Interval
Auto Trait Implementations§
impl Freeze for Interval
impl RefUnwindSafe for Interval
impl Send for Interval
impl Sync for Interval
impl Unpin for Interval
impl UnsafeUnpin for Interval
impl UnwindSafe for Interval
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more