pub struct SignedDuration { /* private fields */ }Expand description
A span of time with nanosecond precision.
Each SignedDuration is composed of a whole number of seconds and a fractional part represented
in nanoseconds.
This implementation allows for negative durations, unlike core::time::Duration.
Implementations§
Source§impl SignedDuration
impl SignedDuration
Sourcepub const NANOSECOND: Self
pub const NANOSECOND: Self
Sourcepub const MICROSECOND: Self
pub const MICROSECOND: Self
Sourcepub const MILLISECOND: Self
pub const MILLISECOND: Self
Sourcepub const MIN: Self
pub const MIN: Self
The minimum possible duration. Adding any negative duration to this will cause an overflow.
Sourcepub const MAX: Self
pub const MAX: Self
The maximum possible duration. Adding any positive duration to this will cause an overflow.
Sourcepub const fn is_negative(self) -> bool
pub const fn is_negative(self) -> bool
Sourcepub const fn is_positive(self) -> bool
pub const fn is_positive(self) -> bool
Sourcepub const fn unsigned_abs(self) -> StdDuration
pub const fn unsigned_abs(self) -> StdDuration
Convert the existing SignedDuration to a std::time::Duration and its sign. This returns
a std::time::Duration and does not saturate the returned value (unlike
SignedDuration::abs).
Sourcepub const fn new(seconds: i64, nanoseconds: i32) -> Self
pub const fn new(seconds: i64, nanoseconds: i32) -> Self
Create a new SignedDuration with the provided seconds and nanoseconds. If nanoseconds is
at least ±109, it will wrap to the number of seconds.
assert_eq!(SignedDuration::new(1, 0), 1.seconds());
assert_eq!(SignedDuration::new(-1, 0), (-1).seconds());
assert_eq!(SignedDuration::new(1, 2_000_000_000), 3.seconds());§Panics
This may panic if an overflow occurs.
Sourcepub const fn weeks(weeks: i64) -> Self
pub const fn weeks(weeks: i64) -> Self
Create a new SignedDuration with the given number of weeks. Equivalent to
SignedDuration::seconds(weeks * 604_800).
§Panics
This may panic if an overflow occurs.
Sourcepub const fn days(days: i64) -> Self
pub const fn days(days: i64) -> Self
Create a new SignedDuration with the given number of days. Equivalent to
SignedDuration::seconds(days * 86_400).
§Panics
This may panic if an overflow occurs.
Sourcepub const fn hours(hours: i64) -> Self
pub const fn hours(hours: i64) -> Self
Create a new SignedDuration with the given number of hours. Equivalent to
SignedDuration::seconds(hours * 3_600).
§Panics
This may panic if an overflow occurs.
Sourcepub const fn minutes(minutes: i64) -> Self
pub const fn minutes(minutes: i64) -> Self
Create a new SignedDuration with the given number of minutes. Equivalent to
SignedDuration::seconds(minutes * 60).
§Panics
This may panic if an overflow occurs.
Sourcepub const fn seconds_f64(seconds: f64) -> Self
pub const fn seconds_f64(seconds: f64) -> Self
Creates a new SignedDuration from the specified number of seconds represented as f64.
assert_eq!(SignedDuration::seconds_f64(0.5), 0.5.seconds());
assert_eq!(SignedDuration::seconds_f64(-0.5), (-0.5).seconds());§Panics
This may panic if seconds is NaN or overflows the representable range of
SignedDuration.
Sourcepub const fn seconds_f32(seconds: f32) -> Self
pub const fn seconds_f32(seconds: f32) -> Self
Creates a new SignedDuration from the specified number of seconds represented as f32.
assert_eq!(SignedDuration::seconds_f32(0.5), 0.5.seconds());
assert_eq!(SignedDuration::seconds_f32(-0.5), (-0.5).seconds());§Panics
This may panic if seconds is NaN or overflows the representable range of
SignedDuration.
Sourcepub const fn saturating_seconds_f64(seconds: f64) -> Self
pub const fn saturating_seconds_f64(seconds: f64) -> Self
Creates a new SignedDuration from the specified number of seconds represented as f64.
Any values that are out of bounds are saturated at the minimum or maximum respectively.
NaN gets turned into a SignedDuration of 0 seconds.
assert_eq!(SignedDuration::saturating_seconds_f64(0.5), 0.5.seconds());
assert_eq!(
SignedDuration::saturating_seconds_f64(-0.5),
(-0.5).seconds()
);
assert_eq!(
SignedDuration::saturating_seconds_f64(f64::NAN),
SignedDuration::new(0, 0),
);
assert_eq!(
SignedDuration::saturating_seconds_f64(f64::NEG_INFINITY),
SignedDuration::MIN,
);
assert_eq!(
SignedDuration::saturating_seconds_f64(f64::INFINITY),
SignedDuration::MAX,
);Sourcepub const fn saturating_seconds_f32(seconds: f32) -> Self
pub const fn saturating_seconds_f32(seconds: f32) -> Self
Creates a new SignedDuration from the specified number of seconds represented as f32.
Any values that are out of bounds are saturated at the minimum or maximum respectively.
NaN gets turned into a SignedDuration of 0 seconds.
assert_eq!(SignedDuration::saturating_seconds_f32(0.5), 0.5.seconds());
assert_eq!(
SignedDuration::saturating_seconds_f32(-0.5),
(-0.5).seconds()
);
assert_eq!(
SignedDuration::saturating_seconds_f32(f32::NAN),
SignedDuration::new(0, 0),
);
assert_eq!(
SignedDuration::saturating_seconds_f32(f32::NEG_INFINITY),
SignedDuration::MIN,
);
assert_eq!(
SignedDuration::saturating_seconds_f32(f32::INFINITY),
SignedDuration::MAX,
);Sourcepub const fn checked_seconds_f64(seconds: f64) -> Option<Self>
pub const fn checked_seconds_f64(seconds: f64) -> Option<Self>
Creates a new SignedDuration from the specified number of seconds represented as f64.
Returns None if the SignedDuration can’t be represented.
assert_eq!(
SignedDuration::checked_seconds_f64(0.5),
Some(0.5.seconds())
);
assert_eq!(
SignedDuration::checked_seconds_f64(-0.5),
Some((-0.5).seconds())
);
assert_eq!(SignedDuration::checked_seconds_f64(f64::NAN), None);
assert_eq!(SignedDuration::checked_seconds_f64(f64::NEG_INFINITY), None);
assert_eq!(SignedDuration::checked_seconds_f64(f64::INFINITY), None);Sourcepub const fn checked_seconds_f32(seconds: f32) -> Option<Self>
pub const fn checked_seconds_f32(seconds: f32) -> Option<Self>
Creates a new SignedDuration from the specified number of seconds represented as f32.
Returns None if the SignedDuration can’t be represented.
assert_eq!(
SignedDuration::checked_seconds_f32(0.5),
Some(0.5.seconds())
);
assert_eq!(
SignedDuration::checked_seconds_f32(-0.5),
Some((-0.5).seconds())
);
assert_eq!(SignedDuration::checked_seconds_f32(f32::NAN), None);
assert_eq!(SignedDuration::checked_seconds_f32(f32::NEG_INFINITY), None);
assert_eq!(SignedDuration::checked_seconds_f32(f32::INFINITY), None);Sourcepub const fn milliseconds(milliseconds: i64) -> Self
pub const fn milliseconds(milliseconds: i64) -> Self
Sourcepub const fn microseconds(microseconds: i64) -> Self
pub const fn microseconds(microseconds: i64) -> Self
Sourcepub const fn nanoseconds(nanoseconds: i64) -> Self
pub const fn nanoseconds(nanoseconds: i64) -> Self
Sourcepub const fn nanoseconds_i128(nanoseconds: i128) -> Self
pub const fn nanoseconds_i128(nanoseconds: i128) -> Self
Create a new SignedDuration with the given number of nanoseconds.
assert_eq!(
SignedDuration::nanoseconds_i128(1_234_567_890),
1.seconds() + 234_567_890.nanoseconds()
);§Panics
This may panic if an overflow occurs. This may happen because the input range cannot be fully mapped to the output.
Sourcepub const fn whole_weeks(self) -> i64
pub const fn whole_weeks(self) -> i64
Sourcepub const fn whole_days(self) -> i64
pub const fn whole_days(self) -> i64
Sourcepub const fn whole_hours(self) -> i64
pub const fn whole_hours(self) -> i64
Sourcepub const fn whole_minutes(self) -> i64
pub const fn whole_minutes(self) -> i64
Sourcepub const fn whole_seconds(self) -> i64
pub const fn whole_seconds(self) -> i64
Sourcepub const fn as_seconds_f64(self) -> f64
pub const fn as_seconds_f64(self) -> f64
Sourcepub const fn as_seconds_f32(self) -> f32
pub const fn as_seconds_f32(self) -> f32
Sourcepub const fn whole_milliseconds(self) -> i128
pub const fn whole_milliseconds(self) -> i128
Sourcepub const fn subsec_milliseconds(self) -> i16
pub const fn subsec_milliseconds(self) -> i16
Sourcepub const fn whole_microseconds(self) -> i128
pub const fn whole_microseconds(self) -> i128
Sourcepub const fn subsec_microseconds(self) -> i32
pub const fn subsec_microseconds(self) -> i32
Sourcepub const fn whole_nanoseconds(self) -> i128
pub const fn whole_nanoseconds(self) -> i128
Sourcepub const fn subsec_nanoseconds(self) -> i32
pub const fn subsec_nanoseconds(self) -> i32
Sourcepub const fn checked_add(self, rhs: Self) -> Option<Self>
pub const fn checked_add(self, rhs: Self) -> Option<Self>
Sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
Sourcepub const fn checked_mul(self, rhs: i32) -> Option<Self>
pub const fn checked_mul(self, rhs: i32) -> Option<Self>
Computes self * rhs, returning None if an overflow occurred.
Sourcepub const fn checked_div(self, rhs: i32) -> Option<Self>
pub const fn checked_div(self, rhs: i32) -> Option<Self>
Sourcepub const fn checked_neg(self) -> Option<Self>
pub const fn checked_neg(self) -> Option<Self>
Sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
Computes self + rhs, saturating if an overflow occurred.
assert_eq!(5.seconds().saturating_add(5.seconds()), 10.seconds());
assert_eq!(
SignedDuration::MAX.saturating_add(1.nanoseconds()),
SignedDuration::MAX
);
assert_eq!(
SignedDuration::MIN.saturating_add((-1).nanoseconds()),
SignedDuration::MIN
);
assert_eq!(
(-5).seconds().saturating_add(5.seconds()),
SignedDuration::ZERO
);Sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
Computes self - rhs, saturating if an overflow occurred.
assert_eq!(
5.seconds().saturating_sub(5.seconds()),
SignedDuration::ZERO
);
assert_eq!(
SignedDuration::MIN.saturating_sub(1.nanoseconds()),
SignedDuration::MIN
);
assert_eq!(
SignedDuration::MAX.saturating_sub((-1).nanoseconds()),
SignedDuration::MAX
);
assert_eq!(5.seconds().saturating_sub(10.seconds()), (-5).seconds());Sourcepub const fn saturating_mul(self, rhs: i32) -> Self
pub const fn saturating_mul(self, rhs: i32) -> Self
Computes self * rhs, saturating if an overflow occurred.
assert_eq!(5.seconds().saturating_mul(2), 10.seconds());
assert_eq!(5.seconds().saturating_mul(-2), (-10).seconds());
assert_eq!(5.seconds().saturating_mul(0), SignedDuration::ZERO);
assert_eq!(SignedDuration::MAX.saturating_mul(2), SignedDuration::MAX);
assert_eq!(SignedDuration::MIN.saturating_mul(2), SignedDuration::MIN);
assert_eq!(SignedDuration::MAX.saturating_mul(-2), SignedDuration::MIN);
assert_eq!(SignedDuration::MIN.saturating_mul(-2), SignedDuration::MAX);Trait Implementations§
Source§impl Add for SignedDuration
impl Add for SignedDuration
Source§impl Add<Duration> for SignedDuration
impl Add<Duration> for SignedDuration
Source§fn add(self, std_duration: StdDuration) -> Self::Output
fn add(self, std_duration: StdDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
+ operator.Source§impl Add<SignedDuration> for Date
impl Add<SignedDuration> for Date
Source§impl Add<SignedDuration> for Instant
Available on crate feature std only.
impl Add<SignedDuration> for Instant
std only.Source§impl Add<SignedDuration> for OffsetDateTime
impl Add<SignedDuration> for OffsetDateTime
Source§fn add(self, duration: SignedDuration) -> Self::Output
fn add(self, duration: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = OffsetDateTime
type Output = OffsetDateTime
+ operator.Source§impl Add<SignedDuration> for PlainDateTime
impl Add<SignedDuration> for PlainDateTime
Source§fn add(self, duration: SignedDuration) -> Self::Output
fn add(self, duration: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = PlainDateTime
type Output = PlainDateTime
+ operator.Source§impl Add<SignedDuration> for Duration
impl Add<SignedDuration> for Duration
Source§fn add(self, rhs: SignedDuration) -> Self::Output
fn add(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
+ operator.Source§impl Add<SignedDuration> for SystemTime
Available on crate feature std only.
impl Add<SignedDuration> for SystemTime
std only.Source§fn add(self, duration: SignedDuration) -> Self::Output
fn add(self, duration: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SystemTime
type Output = SystemTime
+ operator.Source§impl Add<SignedDuration> for Time
impl Add<SignedDuration> for Time
Source§fn add(self, duration: SignedDuration) -> Self::Output
fn add(self, duration: SignedDuration) -> Self::Output
Add the sub-day time of the SignedDuration to the Time. Wraps on overflow.
Source§impl Add<SignedDuration> for Timestamp
impl Add<SignedDuration> for Timestamp
Source§impl Add<SignedDuration> for UtcDateTime
impl Add<SignedDuration> for UtcDateTime
Source§fn add(self, duration: SignedDuration) -> Self::Output
fn add(self, duration: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = UtcDateTime
type Output = UtcDateTime
+ operator.Source§impl AddAssign for SignedDuration
impl AddAssign for SignedDuration
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<Duration> for SignedDuration
impl AddAssign<Duration> for SignedDuration
Source§fn add_assign(&mut self, rhs: StdDuration)
fn add_assign(&mut self, rhs: StdDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for Date
impl AddAssign<SignedDuration> for Date
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for Instant
Available on crate feature std only.
impl AddAssign<SignedDuration> for Instant
std only.Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This function may panic if the resulting point in time cannot be represented by the underlying data structure.
Source§impl AddAssign<SignedDuration> for OffsetDateTime
impl AddAssign<SignedDuration> for OffsetDateTime
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for PlainDateTime
impl AddAssign<SignedDuration> for PlainDateTime
Source§fn add_assign(&mut self, duration: SignedDuration)
fn add_assign(&mut self, duration: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for Duration
impl AddAssign<SignedDuration> for Duration
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if the resulting addition cannot be represented.
Source§impl AddAssign<SignedDuration> for SystemTime
Available on crate feature std only.
impl AddAssign<SignedDuration> for SystemTime
std only.Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for Time
impl AddAssign<SignedDuration> for Time
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
+= operation. Read moreSource§impl AddAssign<SignedDuration> for Timestamp
impl AddAssign<SignedDuration> for Timestamp
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl AddAssign<SignedDuration> for UtcDateTime
impl AddAssign<SignedDuration> for UtcDateTime
Source§fn add_assign(&mut self, rhs: SignedDuration)
fn add_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl Arbitrary for SignedDuration
Available on crate feature quickcheck only.
impl Arbitrary for SignedDuration
quickcheck only.Source§impl Clone for SignedDuration
impl Clone for SignedDuration
Source§fn clone(&self) -> SignedDuration
fn clone(&self) -> SignedDuration
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SignedDuration
Source§impl Debug for SignedDuration
impl Debug for SignedDuration
Source§impl Default for SignedDuration
impl Default for SignedDuration
Source§impl<'a> Deserialize<'a> for SignedDuration
Available on crate feature serde only.
impl<'a> Deserialize<'a> for SignedDuration
serde only.Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'a>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'a>,
Source§impl Display for SignedDuration
The format returned by this implementation is not stable and must not be relied upon.
impl Display for SignedDuration
The format returned by this implementation is not stable and must not be relied upon.
By default this produces an exact, full-precision printout of the duration. For a concise,
rounded printout instead, you can use the .N format specifier:
For the purposes of this implementation, a day is exactly 24 hours and a minute is exactly 60 seconds.
Source§impl Distribution<SignedDuration> for StandardUniform
Available on crate feature rand010 only.
impl Distribution<SignedDuration> for StandardUniform
rand010 only.Source§fn sample<R>(&self, rng: &mut R) -> SignedDurationwhere
R: Rng + ?Sized,
fn sample<R>(&self, rng: &mut R) -> SignedDurationwhere
R: Rng + ?Sized,
T, using rng as the source of randomness.§fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>where
R: Rng,
Self: Sized,
fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>where
R: Rng,
Self: Sized,
T, using rng as
the source of randomness. Read moreSource§impl Distribution<SignedDuration> for Standard
Available on crate feature rand08 only.
impl Distribution<SignedDuration> for Standard
rand08 only.Source§fn sample<R>(&self, rng: &mut R) -> SignedDuration
fn sample<R>(&self, rng: &mut R) -> SignedDuration
T, using rng as the source of randomness.Source§fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
T, using rng as
the source of randomness. Read moreSource§impl Distribution<SignedDuration> for StandardUniform
Available on crate feature rand09 only.
impl Distribution<SignedDuration> for StandardUniform
rand09 only.Source§fn sample<R>(&self, rng: &mut R) -> SignedDuration
fn sample<R>(&self, rng: &mut R) -> SignedDuration
T, using rng as the source of randomness.Source§fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
T, using rng as
the source of randomness. Read moreSource§impl Div for SignedDuration
impl Div for SignedDuration
Source§impl Div<Duration> for SignedDuration
impl Div<Duration> for SignedDuration
Source§impl Div<SignedDuration> for Duration
impl Div<SignedDuration> for Duration
Source§impl Div<f32> for SignedDuration
impl Div<f32> for SignedDuration
Source§impl Div<f64> for SignedDuration
impl Div<f64> for SignedDuration
Source§impl Div<i8> for SignedDuration
impl Div<i8> for SignedDuration
Source§impl Div<i16> for SignedDuration
impl Div<i16> for SignedDuration
Source§impl Div<i32> for SignedDuration
impl Div<i32> for SignedDuration
Source§impl Div<u8> for SignedDuration
impl Div<u8> for SignedDuration
Source§impl Div<u16> for SignedDuration
impl Div<u16> for SignedDuration
Source§impl Div<u32> for SignedDuration
impl Div<u32> for SignedDuration
Source§impl DivAssign<f32> for SignedDuration
impl DivAssign<f32> for SignedDuration
Source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<f64> for SignedDuration
impl DivAssign<f64> for SignedDuration
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<i8> for SignedDuration
impl DivAssign<i8> for SignedDuration
Source§fn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<i16> for SignedDuration
impl DivAssign<i16> for SignedDuration
Source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<i32> for SignedDuration
impl DivAssign<i32> for SignedDuration
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<u8> for SignedDuration
impl DivAssign<u8> for SignedDuration
Source§fn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<u16> for SignedDuration
impl DivAssign<u16> for SignedDuration
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
§Panics
This may panic if an overflow occurs or if rhs == 0.
Source§impl DivAssign<u32> for SignedDuration
impl DivAssign<u32> for SignedDuration
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
§Panics
This may panic if an overflow occurs or if rhs == 0.
impl Eq for SignedDuration
Source§impl Hash for SignedDuration
impl Hash for SignedDuration
Source§impl Mul<SignedDuration> for i8
impl Mul<SignedDuration> for i8
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for i16
impl Mul<SignedDuration> for i16
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for i32
impl Mul<SignedDuration> for i32
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for u8
impl Mul<SignedDuration> for u8
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for u16
impl Mul<SignedDuration> for u16
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for u32
impl Mul<SignedDuration> for u32
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for f32
impl Mul<SignedDuration> for f32
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<SignedDuration> for f64
impl Mul<SignedDuration> for f64
Source§fn mul(self, rhs: SignedDuration) -> Self::Output
fn mul(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
* operator.Source§impl Mul<f32> for SignedDuration
impl Mul<f32> for SignedDuration
Source§impl Mul<f64> for SignedDuration
impl Mul<f64> for SignedDuration
Source§impl Mul<i8> for SignedDuration
impl Mul<i8> for SignedDuration
Source§impl Mul<i16> for SignedDuration
impl Mul<i16> for SignedDuration
Source§impl Mul<i32> for SignedDuration
impl Mul<i32> for SignedDuration
Source§impl Mul<u8> for SignedDuration
impl Mul<u8> for SignedDuration
Source§impl Mul<u16> for SignedDuration
impl Mul<u16> for SignedDuration
Source§impl Mul<u32> for SignedDuration
impl Mul<u32> for SignedDuration
Source§impl MulAssign<f32> for SignedDuration
impl MulAssign<f32> for SignedDuration
Source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<f64> for SignedDuration
impl MulAssign<f64> for SignedDuration
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<i8> for SignedDuration
impl MulAssign<i8> for SignedDuration
Source§fn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<i16> for SignedDuration
impl MulAssign<i16> for SignedDuration
Source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<i32> for SignedDuration
impl MulAssign<i32> for SignedDuration
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<u8> for SignedDuration
impl MulAssign<u8> for SignedDuration
Source§fn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<u16> for SignedDuration
impl MulAssign<u16> for SignedDuration
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
§Panics
This may panic if an overflow occurs.
Source§impl MulAssign<u32> for SignedDuration
impl MulAssign<u32> for SignedDuration
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
§Panics
This may panic if an overflow occurs.
Source§impl Neg for SignedDuration
impl Neg for SignedDuration
Source§impl Ord for SignedDuration
impl Ord for SignedDuration
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for SignedDuration
impl PartialEq for SignedDuration
Source§impl PartialEq<Duration> for SignedDuration
impl PartialEq<Duration> for SignedDuration
Source§impl PartialEq<SignedDuration> for Duration
impl PartialEq<SignedDuration> for Duration
Source§impl PartialOrd for SignedDuration
impl PartialOrd for SignedDuration
Source§impl PartialOrd<Duration> for SignedDuration
impl PartialOrd<Duration> for SignedDuration
Source§impl PartialOrd<SignedDuration> for Duration
impl PartialOrd<SignedDuration> for Duration
Source§impl Serialize for SignedDuration
Available on crate feature serde only.
impl Serialize for SignedDuration
serde only.Source§impl Sub for SignedDuration
impl Sub for SignedDuration
Source§impl Sub<Duration> for SignedDuration
impl Sub<Duration> for SignedDuration
Source§type Output = SignedDuration
type Output = SignedDuration
- operator.Source§impl Sub<SignedDuration> for Date
impl Sub<SignedDuration> for Date
Source§impl Sub<SignedDuration> for Instant
Available on crate feature std only.
impl Sub<SignedDuration> for Instant
std only.Source§impl Sub<SignedDuration> for OffsetDateTime
impl Sub<SignedDuration> for OffsetDateTime
Source§fn sub(self, rhs: SignedDuration) -> Self::Output
fn sub(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = OffsetDateTime
type Output = OffsetDateTime
- operator.Source§impl Sub<SignedDuration> for PlainDateTime
impl Sub<SignedDuration> for PlainDateTime
Source§fn sub(self, duration: SignedDuration) -> Self::Output
fn sub(self, duration: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = PlainDateTime
type Output = PlainDateTime
- operator.Source§impl Sub<SignedDuration> for Duration
impl Sub<SignedDuration> for Duration
Source§fn sub(self, rhs: SignedDuration) -> Self::Output
fn sub(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = SignedDuration
type Output = SignedDuration
- operator.Source§impl Sub<SignedDuration> for SystemTime
Available on crate feature std only.
impl Sub<SignedDuration> for SystemTime
std only.Source§type Output = SystemTime
type Output = SystemTime
- operator.Source§impl Sub<SignedDuration> for Time
impl Sub<SignedDuration> for Time
Source§fn sub(self, duration: SignedDuration) -> Self::Output
fn sub(self, duration: SignedDuration) -> Self::Output
Subtract the sub-day time of the SignedDuration from the Time. Wraps on overflow.
Source§impl Sub<SignedDuration> for Timestamp
impl Sub<SignedDuration> for Timestamp
Source§impl Sub<SignedDuration> for UtcDateTime
impl Sub<SignedDuration> for UtcDateTime
Source§fn sub(self, rhs: SignedDuration) -> Self::Output
fn sub(self, rhs: SignedDuration) -> Self::Output
§Panics
This may panic if an overflow occurs.
Source§type Output = UtcDateTime
type Output = UtcDateTime
- operator.Source§impl SubAssign for SignedDuration
impl SubAssign for SignedDuration
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<Duration> for SignedDuration
impl SubAssign<Duration> for SignedDuration
Source§fn sub_assign(&mut self, rhs: StdDuration)
fn sub_assign(&mut self, rhs: StdDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for Date
impl SubAssign<SignedDuration> for Date
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for Instant
Available on crate feature std only.
impl SubAssign<SignedDuration> for Instant
std only.Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This function may panic if the resulting point in time cannot be represented by the underlying data structure.
Source§impl SubAssign<SignedDuration> for OffsetDateTime
impl SubAssign<SignedDuration> for OffsetDateTime
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for PlainDateTime
impl SubAssign<SignedDuration> for PlainDateTime
Source§fn sub_assign(&mut self, duration: SignedDuration)
fn sub_assign(&mut self, duration: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for Duration
impl SubAssign<SignedDuration> for Duration
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if the resulting subtraction can not be represented.
Source§impl SubAssign<SignedDuration> for SystemTime
Available on crate feature std only.
impl SubAssign<SignedDuration> for SystemTime
std only.Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for Time
impl SubAssign<SignedDuration> for Time
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
-= operation. Read moreSource§impl SubAssign<SignedDuration> for Timestamp
impl SubAssign<SignedDuration> for Timestamp
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.
Source§impl SubAssign<SignedDuration> for UtcDateTime
impl SubAssign<SignedDuration> for UtcDateTime
Source§fn sub_assign(&mut self, rhs: SignedDuration)
fn sub_assign(&mut self, rhs: SignedDuration)
§Panics
This may panic if an overflow occurs.