Struct DateTime

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

A representation of a date and time.

Implementations§

Source§

impl DateTime

Source

pub const fn ymd(year: i16, month: u8, day: u8) -> DateTimeBuilder

Create a new date and time object.

Source

pub const fn from_timestamp(timestamp: i64, nanos: u32) -> Self

Create a new date and time object from the given Unix timestamp.

Source

pub const fn from_timestamp_millis(millis: i64) -> Self

Create a new date and time object from the given Unix timestamp in milliseconds.

Source

pub const fn from_timestamp_micros(micros: i64) -> Self

Create a new date and time object from the given Unix timestamp in microseconds.

Source

pub const fn from_timestamp_nanos(nanos: i128) -> Self

Create a new date and time object from the given Unix timestamp in nanoseconds.

Source

pub fn now() -> Self

Return the current timestamp.

§Panic

Panics if the system clock is set prior to January 1, 1970.

Source§

impl DateTime

Source

pub const fn with_tz(self, tz: TimeZoneRef<'static>) -> Self

Set the time zone to the provided time zone, without adjusting the underlying absolute timestamp.

This method modifies the wall clock time while maintaining the underlying absolute timestamp. To modify the timestamp instead, use in_tz.

Source

pub const fn in_tz(self, tz: TimeZoneRef<'static>) -> Self

Set the timestamp to the same wall clock time in the provided time zone.

This method modifies the underlying timestamp while maintaining the wall clock time. To maintain the timestamp instead, use with_tz.

Source§

impl DateTime

Accessors

Source

pub const fn year(&self) -> i16

The year for this date.

Source

pub const fn month(&self) -> u8

The month for this date.

Source

pub const fn day(&self) -> u8

The day of the month for this date.

Source

pub const fn weekday(&self) -> Weekday

The day of the week for this date.

Source

pub const fn hour(&self) -> u8

The hour of the day for this date and time. Range: [0, 24)

Source

pub const fn minute(&self) -> u8

The minute of the hour for this date and time. Range: [0, 60)

Source

pub const fn second(&self) -> u8

The second of the minute for this date and time. Range: [0, 60)

Source

pub const fn nanosecond(&self) -> u32

The nanosecond of the second for this date and time. Range: [0, 1_000_000_000)

Source

pub const fn day_of_year(&self) -> u16

The ordinal day of the year.

Source

pub const fn date(&self) -> Date

The date corresponding to this datetime.

Source

pub const fn as_seconds(&self) -> i64

The number of seconds since the Unix epoch for this date and time.

Source

pub const fn as_milliseconds(&self) -> i64

The number of milliseconds since the Unix epoch for this date and time.

Source

pub const fn as_microseconds(&self) -> i64

The number of microseconds since the Unix epoch for this date and time.

Source

pub const fn as_nanoseconds(&self) -> i128

The number of nanoseconds since the Unix epoch for this date and time.

Source

pub const fn precision(&self) -> Precision

The precision required to represent this timestamp with no fidelity loss.

Source§

impl DateTime

Source

pub fn format(&self, format: &'static str) -> FormattedDateTime<'_>

Format the given date and time according to the provided strftime-like string.

Source§

impl DateTime

Source

pub fn parse( datetime_str: impl AsRef<str>, fmt: &'static str, ) -> ParseResult<Self>

Parse a date from a string, according to the provided format string.

Trait Implementations§

Source§

impl Add<TimeInterval> for DateTime

Source§

type Output = DateTime

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl AddAssign<TimeInterval> for DateTime

Source§

fn add_assign(&mut self, rhs: TimeInterval)

Performs the += operation. Read more
Source§

impl<'__expr> AsExpression<Nullable<Timestamp>> for &'__expr DateTime

Source§

type Expression = Bound<Nullable<Timestamp>, &'__expr DateTime>

The expression being returned
Source§

fn as_expression( self, ) -> <Self as AsExpression<Nullable<Timestamp>>>::Expression

Perform the conversion
Source§

impl AsExpression<Nullable<Timestamp>> for DateTime

Source§

type Expression = Bound<Nullable<Timestamp>, DateTime>

The expression being returned
Source§

fn as_expression( self, ) -> <Self as AsExpression<Nullable<Timestamp>>>::Expression

Perform the conversion
Source§

impl<'__expr> AsExpression<Nullable<Timestamptz>> for &'__expr DateTime

Source§

type Expression = Bound<Nullable<Timestamptz>, &'__expr DateTime>

The expression being returned
Source§

fn as_expression( self, ) -> <Self as AsExpression<Nullable<Timestamptz>>>::Expression

Perform the conversion
Source§

impl AsExpression<Nullable<Timestamptz>> for DateTime

Source§

type Expression = Bound<Nullable<Timestamptz>, DateTime>

The expression being returned
Source§

fn as_expression( self, ) -> <Self as AsExpression<Nullable<Timestamptz>>>::Expression

Perform the conversion
Source§

impl<'__expr> AsExpression<Timestamp> for &'__expr DateTime

Source§

type Expression = Bound<Timestamp, &'__expr DateTime>

The expression being returned
Source§

fn as_expression(self) -> <Self as AsExpression<Timestamp>>::Expression

Perform the conversion
Source§

impl AsExpression<Timestamp> for DateTime

Source§

type Expression = Bound<Timestamp, DateTime>

The expression being returned
Source§

fn as_expression(self) -> <Self as AsExpression<Timestamp>>::Expression

Perform the conversion
Source§

impl<'__expr> AsExpression<Timestamptz> for &'__expr DateTime

Source§

type Expression = Bound<Timestamptz, &'__expr DateTime>

The expression being returned
Source§

fn as_expression(self) -> <Self as AsExpression<Timestamptz>>::Expression

Perform the conversion
Source§

impl AsExpression<Timestamptz> for DateTime

Source§

type Expression = Bound<Timestamptz, DateTime>

The expression being returned
Source§

fn as_expression(self) -> <Self as AsExpression<Timestamptz>>::Expression

Perform the conversion
Source§

impl Clone for DateTime

Source§

fn clone(&self) -> DateTime

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 DateTime

Source§

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

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

impl<'de> Deserialize<'de> for DateTime

Available on crate feature serde only.
Source§

fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>

Deserialize this value from the given Serde deserializer. Read more
Source§

impl FromSql<Timestamp, Pg> for DateTime

Source§

fn from_sql(bytes: PgValue<'_>) -> DeserializeResult<Self>

See the trait documentation.
Source§

fn from_nullable_sql( bytes: Option<<DB as Backend>::RawValue<'_>>, ) -> Result<Self, Box<dyn Error + Sync + Send>>

A specialized variant of from_sql for handling null values. Read more
Source§

impl FromSql<Timestamptz, Pg> for DateTime

Source§

fn from_sql(bytes: PgValue<'_>) -> DeserializeResult<Self>

See the trait documentation.
Source§

fn from_nullable_sql( bytes: Option<<DB as Backend>::RawValue<'_>>, ) -> Result<Self, Box<dyn Error + Sync + Send>>

A specialized variant of from_sql for handling null values. Read more
Source§

impl FromSql for DateTime

Source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts DuckDB value into Rust value.
Source§

impl FromStr for DateTime

Source§

type Err = ParseError

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

fn from_str(s: &str) -> ParseResult<Self>

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

impl Ord for DateTime

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for DateTime

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 DateTime

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<__DB, __ST> Queryable<__ST, __DB> for DateTime
where __DB: Backend, __ST: SingleValue, Self: FromSql<__ST, __DB>,

Source§

type Row = DateTime

The Rust type you’d like to map from. Read more
Source§

fn build(row: Self) -> Result<Self>

Construct an instance of this type
Source§

impl Serialize for DateTime

Available on crate feature serde only.
Source§

fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more
Source§

impl Sub<TimeInterval> for DateTime

Source§

type Output = DateTime

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Sub for DateTime

Source§

type Output = TimeInterval

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl SubAssign<TimeInterval> for DateTime

Source§

fn sub_assign(&mut self, rhs: TimeInterval)

Performs the -= operation. Read more
Source§

impl<__DB> ToSql<Nullable<Timestamp>, __DB> for DateTime
where __DB: Backend, Self: ToSql<Timestamp, __DB>,

Source§

fn to_sql<'__b>(&'__b self, out: &mut Output<'__b, '_, __DB>) -> Result

See the trait documentation.
Source§

impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for DateTime
where __DB: Backend, Self: ToSql<Timestamptz, __DB>,

Source§

fn to_sql<'__b>(&'__b self, out: &mut Output<'__b, '_, __DB>) -> Result

See the trait documentation.
Source§

impl ToSql<Timestamp, Pg> for DateTime

Source§

fn to_sql<'se>(&'se self, out: &mut Output<'se, '_, Pg>) -> SerializeResult

See the trait documentation.
Source§

impl ToSql<Timestamptz, Pg> for DateTime

Source§

fn to_sql<'se>(&'se self, out: &mut Output<'se, '_, Pg>) -> SerializeResult

See the trait documentation.
Source§

impl ToSql for DateTime

Source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to DuckDB value
Source§

impl ToValue for DateTime

Source§

fn to_value(&self) -> Value<'_>

Perform the conversion.
Source§

impl TryFrom<RawDateTime> for DateTime

Source§

type Error = ParseError

The type returned in the event of a conversion error.
Source§

fn try_from(value: RawDateTime) -> ParseResult<Self>

Performs the conversion.
Source§

impl Copy for DateTime

Source§

impl Eq for DateTime

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, ST, DB> FromSqlRow<ST, DB> for T
where T: Queryable<ST, DB>, ST: SqlTypeOrSelectable, DB: Backend, <T as Queryable<ST, DB>>::Row: FromStaticSqlRow<ST, DB>,

Source§

fn build_from_row<'a>( row: &impl Row<'a, DB>, ) -> Result<T, Box<dyn Error + Sync + Send>>

See the trait documentation.
Source§

impl<T, ST, DB> FromStaticSqlRow<ST, DB> for T
where DB: Backend, T: FromSql<ST, DB>, ST: SingleValue,

Source§

fn build_from_row<'a>( row: &impl Row<'a, DB>, ) -> Result<T, Box<dyn Error + Sync + Send>>

See the trait documentation
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> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T, ST, DB> StaticallySizedRow<ST, DB> for T
where ST: SqlTypeOrSelectable + TupleSize, T: Queryable<ST, DB>, DB: Backend,

Source§

const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE

The number of fields that this type will consume.
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, 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.
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,