pub struct DateTimeArithmetic { /* private fields */ }
Expand description
Options for DateTime::checked_add
and DateTime::checked_sub
.
This type provides a way to ergonomically add one of a few different
duration types to a DateTime
.
The main way to construct values of this type is with its From
trait
implementations:
From<Span> for DateTimeArithmetic
adds (or subtracts) the given span to the receiver datetime.From<SignedDuration> for DateTimeArithmetic
adds (or subtracts) the given signed duration to the receiver datetime.From<std::time::Duration> for DateTimeArithmetic
adds (or subtracts) the given unsigned duration to the receiver datetime.
§Example
use std::time::Duration;
use jiff::{civil::date, SignedDuration, ToSpan};
let dt = date(2024, 2, 29).at(0, 0, 0, 0);
assert_eq!(
dt.checked_add(1.year())?,
date(2025, 2, 28).at(0, 0, 0, 0),
);
assert_eq!(
dt.checked_add(SignedDuration::from_hours(24))?,
date(2024, 3, 1).at(0, 0, 0, 0),
);
assert_eq!(
dt.checked_add(Duration::from_secs(24 * 60 * 60))?,
date(2024, 3, 1).at(0, 0, 0, 0),
);
Trait Implementations§
Source§impl Clone for DateTimeArithmetic
impl Clone for DateTimeArithmetic
Source§fn clone(&self) -> DateTimeArithmetic
fn clone(&self) -> DateTimeArithmetic
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DateTimeArithmetic
impl Debug for DateTimeArithmetic
Source§impl<'a> From<&'a Duration> for DateTimeArithmetic
impl<'a> From<&'a Duration> for DateTimeArithmetic
Source§fn from(udur: &'a Duration) -> DateTimeArithmetic
fn from(udur: &'a Duration) -> DateTimeArithmetic
Converts to this type from the input type.
Source§impl<'a> From<&'a SignedDuration> for DateTimeArithmetic
impl<'a> From<&'a SignedDuration> for DateTimeArithmetic
Source§fn from(sdur: &'a SignedDuration) -> DateTimeArithmetic
fn from(sdur: &'a SignedDuration) -> DateTimeArithmetic
Converts to this type from the input type.
Source§impl<'a> From<&'a Span> for DateTimeArithmetic
impl<'a> From<&'a Span> for DateTimeArithmetic
Source§fn from(span: &'a Span) -> DateTimeArithmetic
fn from(span: &'a Span) -> DateTimeArithmetic
Converts to this type from the input type.
Source§impl From<Duration> for DateTimeArithmetic
impl From<Duration> for DateTimeArithmetic
Source§fn from(udur: Duration) -> DateTimeArithmetic
fn from(udur: Duration) -> DateTimeArithmetic
Converts to this type from the input type.
Source§impl From<SignedDuration> for DateTimeArithmetic
impl From<SignedDuration> for DateTimeArithmetic
Source§fn from(sdur: SignedDuration) -> DateTimeArithmetic
fn from(sdur: SignedDuration) -> DateTimeArithmetic
Converts to this type from the input type.
Source§impl From<Span> for DateTimeArithmetic
impl From<Span> for DateTimeArithmetic
Source§fn from(span: Span) -> DateTimeArithmetic
fn from(span: Span) -> DateTimeArithmetic
Converts to this type from the input type.
impl Copy for DateTimeArithmetic
Auto Trait Implementations§
impl Freeze for DateTimeArithmetic
impl RefUnwindSafe for DateTimeArithmetic
impl Send for DateTimeArithmetic
impl Sync for DateTimeArithmetic
impl Unpin for DateTimeArithmetic
impl UnwindSafe for DateTimeArithmetic
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more