Duration

Struct Duration 

Source
pub struct Duration { /* private fields */ }
Expand description

Duration: ‘what a clock reads’

Reference unit: Day (‘d’)

Predefined units:

SymbolNameDefinitionEquivalent in ‘d’
sSecondSI reference unit1.1574074074074073e-5
minMinute60·s0.0006944444444444445
hHour60·min0.041666666666666664
dₛSiderial Daya·d/(a + d)0.9972685185185185
aJulian Year365.25·d365.25
yrGregorian Year365.2425·d365.2425
T🜨Earth’s Orbital Period≈ 365.256363004·d365.256363004

Trait Implementations§

Source§

impl Add for Duration

Source§

type Output = Duration

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Clone for Duration

Source§

fn clone(&self) -> Duration

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 Duration

Source§

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

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

impl Display for Duration

Source§

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

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

impl Div<&Duration> for &Length

Source§

type Output = <Length as Div<Duration>>::Output

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &Duration) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<&Duration> for Length
where Self: Div<Duration>,

Source§

type Output = <Length as Div<Duration>>::Output

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &Duration) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a> Div<Duration> for &'a Length

Source§

type Output = <Length as Div<Duration>>::Output

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Duration) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Duration> for Length

Source§

type Output = Speed

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Duration) -> Self::Output

Performs the / operation. Read more
Source§

impl<PQ: Quantity> Div<Rate<Duration, PQ>> for Duration

Source§

type Output = PQ

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Rate<Self, PQ>) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<f64> for Duration

Source§

type Output = Duration

The resulting type after applying the / operator.
Source§

fn div(self, rhs: AmountT) -> Self::Output

Performs the / operation. Read more
Source§

impl Div for Duration

Source§

type Output = f64

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl HasRefUnit for Duration

Source§

const REF_UNIT: DurationUnit = DurationUnit::Day

Unit used as reference for scaling the units of Self::UnitType.
Source§

fn unit_from_scale(amnt: f64) -> Option<Self::UnitType>

Returns Some(unit) where unit.scale() == amnt, or None if there is no such unit.
Source§

fn equiv_amount(&self, unit: Self::UnitType) -> f64

Returns factor so that factor * unit == self.
Source§

fn convert(&self, to_unit: Self::UnitType) -> Self

Returns qty where qty == self and qty.unit() is to_unit.
Source§

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

Returns true, if self and other have equivalent amounts, otherwise false.
Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

Returns the partial order of selfs amount and others eqivalent amount in selfs unit.
Source§

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

Returns the sum of self and other
Source§

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

Returns the difference between self and other
Source§

fn div(self, rhs: Self) -> f64

Returns the quotient self / other
Source§

impl Mul<&Duration> for &Speed
where Speed: Mul<Duration>,

Source§

type Output = <Speed as Mul<Duration>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Duration) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Duration> for Speed
where Self: Mul<Duration>,

Source§

type Output = <Speed as Mul<Duration>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Duration) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Speed> for &Duration
where Duration: Mul<Speed>,

Source§

type Output = <Duration as Mul<Speed>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Speed) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Speed> for Duration
where Self: Mul<Speed>,

Source§

type Output = <Duration as Mul<Speed>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Speed) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a> Mul<Duration> for &'a Speed
where Speed: Mul<Duration>,

Source§

type Output = <Speed as Mul<Duration>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Duration) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Duration> for Speed

Source§

type Output = Length

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Duration) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Duration> for AmountT

Source§

type Output = Duration

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Duration) -> Self::Output

Performs the * operation. Read more
Source§

impl<TQ: Quantity> Mul<Rate<TQ, Duration>> for Duration

Source§

type Output = TQ

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Rate<TQ, Self>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a> Mul<Speed> for &'a Duration
where Duration: Mul<Speed>,

Source§

type Output = <Duration as Mul<Speed>>::Output

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Speed) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Speed> for Duration
where Self: HasRefUnit, Speed: HasRefUnit,

Source§

type Output = Length

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Speed) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<f64> for Duration

Source§

type Output = Duration

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: AmountT) -> Self::Output

Performs the * operation. Read more
Source§

impl PartialEq for Duration

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 PartialOrd for Duration

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Quantity for Duration

Source§

type UnitType = DurationUnit

Associated type of unit
Source§

fn new(amount: AmountT, unit: Self::UnitType) -> Self

Returns a new instance of the type implementing Quantity.
Source§

fn amount(&self) -> AmountT

Returns the amount of self.
Source§

fn unit(&self) -> Self::UnitType

Returns the unit of self.
Source§

fn iter_units() -> impl Iterator<Item = Self::UnitType>

Returns an iterator over the variants of Self::UnitType.
Source§

fn unit_from_symbol(symbol: &str) -> Option<Self::UnitType>

Returns Some(unit) where unit.symbol() == symbol, or None if there is no such unit.
Source§

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

Return true if self and other have the same unit and their amounts are equal, otherwise false.
Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

Returns the partial order of selfs and others amounts, if both have the same unit, otherwise None.
Source§

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

Returns the sum of self and other, if both have the same unit. Read more
Source§

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

Returns the difference between self and other, if both have the same unit. Read more
Source§

fn div(self, rhs: Self) -> f64

Returns the quotient self / other, if both have the same unit. Read more
Source§

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

Formats self using the given formatter. Read more
Source§

impl Sub for Duration

Source§

type Output = Duration

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Copy for Duration

Source§

impl Eq for Duration

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.