#[non_exhaustive]pub enum DateTimeAnchor {
InDays(i64),
Relative(i64),
DateTime(LooseDateTime),
Time(Time),
MonthDay(i8, i8),
Weekday {
day: Weekday,
offset: i8,
},
}Expand description
Represents a date and time anchor that can be used to calculate relative dates and times.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InDays(i64)
A specific number of days in the future or past.
Relative(i64)
A specific number of seconds in the future or past.
DateTime(LooseDateTime)
A specific date and time.
Time(Time)
A specific time.
MonthDay(i8, i8)
A month and day without year (year resolved at resolution time).
Weekday
A weekday with optional offset in weeks.
Implementations§
Source§impl DateTimeAnchor
impl DateTimeAnchor
Sourcepub fn resolve_at_start_of_day(&self, now: &Zoned) -> Result<Zoned, String>
pub fn resolve_at_start_of_day(&self, now: &Zoned) -> Result<Zoned, String>
Resolve datetime at the start of the day based on the provided current local time.
§Errors
Returns an error if date/time operations fail.
Sourcepub fn resolve_at_end_of_day(&self, now: &Zoned) -> Result<Zoned, String>
pub fn resolve_at_end_of_day(&self, now: &Zoned) -> Result<Zoned, String>
Resolve datetime at the end of the day based on the provided current local time.
§Errors
Returns an error if date/time operations fail.
Sourcepub fn resolve_at(self, now: &LooseDateTime) -> LooseDateTime
pub fn resolve_at(self, now: &LooseDateTime) -> LooseDateTime
Resolve the DateTimeAnchor to a LooseDateTime based on the provided current local time.
Sourcepub fn resolve_since(
self,
start: &LooseDateTime,
) -> Result<LooseDateTime, String>
pub fn resolve_since( self, start: &LooseDateTime, ) -> Result<LooseDateTime, String>
Resolve the DateTimeAnchor to a LooseDateTime starting from the provided LooseDateTime.
§Errors
Returns an error if date/time operations fail.
Sourcepub fn resolve_since_zoned(self, start: &Zoned) -> Result<LooseDateTime, String>
pub fn resolve_since_zoned(self, start: &Zoned) -> Result<LooseDateTime, String>
Resolve the DateTimeAnchor to a LooseDateTime starting from the provided Zoned.
§Errors
Returns an error if date/time operations fail.
Trait Implementations§
Source§impl Clone for DateTimeAnchor
impl Clone for DateTimeAnchor
Source§fn clone(&self) -> DateTimeAnchor
fn clone(&self) -> DateTimeAnchor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DateTimeAnchor
impl Debug for DateTimeAnchor
Source§impl<'de> Deserialize<'de> for DateTimeAnchor
impl<'de> Deserialize<'de> for DateTimeAnchor
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl Eq for DateTimeAnchor
Source§impl FromStr for DateTimeAnchor
impl FromStr for DateTimeAnchor
Source§impl PartialEq for DateTimeAnchor
impl PartialEq for DateTimeAnchor
impl StructuralPartialEq for DateTimeAnchor
Auto Trait Implementations§
impl Freeze for DateTimeAnchor
impl RefUnwindSafe for DateTimeAnchor
impl Send for DateTimeAnchor
impl Sync for DateTimeAnchor
impl Unpin for DateTimeAnchor
impl UnsafeUnpin for DateTimeAnchor
impl UnwindSafe for DateTimeAnchor
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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>
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>
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 moreimpl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
WrappingSpan::make_wrapped to wrap an AST node in a span.