Interval

Struct Interval 

Source
pub struct Interval {
    pub months: i64,
    pub days: i64,
    pub nanos: i128,
}

Fields§

§months: i64§days: i64§nanos: i128

Implementations§

Source§

impl Interval

Source

pub const ZERO: Interval

Source

pub const DAYS_IN_MONTH: f64 = 30f64

Source

pub const DAYS_IN_MONTH_AVG: f64 = 30.436875000000001f64

Source

pub const SECS_IN_DAY: i64 = 86_400i64

Source

pub const NANOS_IN_SEC: i128 = 1_000_000_000i128

Source

pub const NANOS_IN_HOUR: i128 = 3_600_000_000_000i128

Source

pub const NANOS_IN_DAY: i128 = 86_400_000_000_000i128

Source

pub const MICROS_IN_DAY: i128 = 86_400_000_000i128

Source

pub const fn new(months: i64, days: i64, nanos: i128) -> Self

Source

pub const fn from_duration(duration: &Duration) -> Self

Source

pub const fn from_nanos(value: i128) -> Self

Source

pub const fn from_micros(value: i128) -> Self

Source

pub const fn from_millis(value: i128) -> Self

Source

pub const fn from_secs(value: i64) -> Self

Source

pub const fn from_mins(value: i64) -> Self

Source

pub const fn from_hours(value: i64) -> Self

Source

pub const fn from_days(value: i64) -> Self

Source

pub const fn from_weeks(value: i64) -> Self

Source

pub const fn from_months(value: i64) -> Self

Source

pub const fn from_years(value: i64) -> Self

Source

pub const fn as_hmsns(&self) -> (i128, u8, u8, u32)

Source

pub const fn is_zero(&self) -> bool

Source

pub const fn as_duration(&self, days_in_month: f64) -> Duration

Source

pub const fn units_and_factors(&self) -> &[(IntervalUnit, i128)]

Source

pub fn units_mask(&self) -> u8

Source

pub fn unit_value(&self, unit: IntervalUnit) -> i128

Trait Implementations§

Source§

impl Add for Interval

Source§

type Output = Interval

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
Source§

impl AddAssign for Interval

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl AsValue for Interval

Source§

fn as_empty_value() -> Value

Return an “empty” (NULL-like) value variant for this type. Used when constructing composite Value containers (arrays, maps) or representing absent optional data. This should never allocate and should not rely on default trait implementations of Self.
Source§

fn as_value(self) -> Value

Convert this value into its owned Value representation. This should perform any necessary wrapping (e.g. collections into List, decimals into Decimal) but avoid lossy transformations unless explicitly documented.
Source§

fn try_from_value(value: Value) -> Result<Self>

Attempt to convert a dynamic Value into Self. Read more
Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Parse a full string into Self delegating to [AsValue::extract]. Read more
Source§

impl Clone for Interval

Source§

fn clone(&self) -> Interval

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Interval

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Interval

Source§

fn default() -> Interval

Returns the “default value” for a type. Read more
Source§

impl From<Duration> for Interval

Source§

fn from(value: Duration) -> Self

Converts to this type from the input type.
Source§

impl From<Duration> for Interval

Source§

fn from(value: Duration) -> Self

Converts to this type from the input type.
Source§

impl From<Interval> for Duration

Source§

fn from(value: Interval) -> Self

Converts to this type from the input type.
Source§

impl From<Interval> for Duration

Source§

fn from(value: Interval) -> Self

Converts to this type from the input type.
Source§

impl Hash for Interval

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Neg for Interval

Source§

type Output = Interval

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl PartialEq for Interval

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Sub for Interval

Source§

type Output = Interval

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for Interval

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl Copy for Interval

Source§

impl Eq for Interval

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.