Enum icalendar::CalendarDateTime

source ·
pub enum CalendarDateTime {
    Floating(NaiveDateTime),
    Utc(DateTime<Utc>),
    WithTimezone {
        date_time: NaiveDateTime,
        tzid: String,
    },
}
Expand description

Representation of various forms of DATE-TIME per RFC 5545, Section 3.3.5

Conversions from chrono types are provided in form of From implementations, see documentation of individual variants.

In addition to readily implemented FORM #1 and FORM #2, the RFC also specifies FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE. This variant is not yet implemented. Adding it will require adding support for VTIMEZONE and referencing it using TZID.

Variants§

§

Floating(NaiveDateTime)

FORM #1: DATE WITH LOCAL TIME: floating, follows current time-zone of the attendee.

Conversion from chrono::NaiveDateTime results in this variant.

§Note

finding this in a calendar is a red flag, datetimes should end in 'Z' for UTC or have a TZID property

§

Utc(DateTime<Utc>)

FORM #2: DATE WITH UTC TIME: rendered with Z suffix character.

Conversion from chrono::DateTime<Utc> results in this variant. Use date_time.with_timezone(&Utc) to convert date_time from arbitrary time zone to UTC.

§

WithTimezone

FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE: refers to a time zone definition.

Fields

§date_time: NaiveDateTime

The date and time in the given time zone.

§tzid: String

The ID of the time zone definition in a VTIMEZONE calendar component.

Trait Implementations§

source§

impl Clone for CalendarDateTime

source§

fn clone(&self) -> CalendarDateTime

Returns a copy 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 CalendarDateTime

source§

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

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

impl From<CalendarDateTime> for DatePerhapsTime

source§

fn from(dt: CalendarDateTime) -> Self

Converts to this type from the input type.
source§

impl From<DateTime<Utc>> for CalendarDateTime

Converts from time zone-aware UTC date-time to CalendarDateTime::Utc.

source§

fn from(dt: DateTime<Utc>) -> Self

Converts to this type from the input type.
source§

impl From<NaiveDateTime> for CalendarDateTime

Converts from time zone-less date-time to CalendarDateTime::Floating.

source§

fn from(dt: NaiveDateTime) -> Self

Converts to this type from the input type.
source§

impl FromStr for CalendarDateTime

§

type Err = ()

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl PartialEq for CalendarDateTime

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for CalendarDateTime

source§

impl StructuralPartialEq for CalendarDateTime

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§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

§

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>,

§

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>,

§

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.