Trait sqlx::types::chrono::TimeZone[][src]

pub trait TimeZone: Clone {
    type Offset: Offset;
Show methods fn from_offset(offset: &Self::Offset) -> Self;
fn offset_from_local_date(
        &self,
        local: &NaiveDate
    ) -> LocalResult<Self::Offset>;
fn offset_from_local_datetime(
        &self,
        local: &NaiveDateTime
    ) -> LocalResult<Self::Offset>;
fn offset_from_utc_date(&self, utc: &NaiveDate) -> Self::Offset;
fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> Self::Offset; fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self> { ... }
fn ymd_opt(
        &self,
        year: i32,
        month: u32,
        day: u32
    ) -> LocalResult<Date<Self>> { ... }
fn yo(&self, year: i32, ordinal: u32) -> Date<Self> { ... }
fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>> { ... }
fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self> { ... }
fn isoywd_opt(
        &self,
        year: i32,
        week: u32,
        weekday: Weekday
    ) -> LocalResult<Date<Self>> { ... }
fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self> { ... }
fn timestamp_opt(
        &self,
        secs: i64,
        nsecs: u32
    ) -> LocalResult<DateTime<Self>> { ... }
fn timestamp_millis(&self, millis: i64) -> DateTime<Self> { ... }
fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>> { ... }
fn timestamp_nanos(&self, nanos: i64) -> DateTime<Self> { ... }
fn datetime_from_str(
        &self,
        s: &str,
        fmt: &str
    ) -> Result<DateTime<Self>, ParseError> { ... }
fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>> { ... }
fn from_local_datetime(
        &self,
        local: &NaiveDateTime
    ) -> LocalResult<DateTime<Self>> { ... }
fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self> { ... }
fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Self> { ... }
}
Expand description

The time zone.

The methods here are the primarily constructors for Date and DateTime types.

Associated Types

type Offset: Offset[src]

An associated offset type. This type is used to store the actual offset in date and time types. The original TimeZone value can be recovered via TimeZone::from_offset.

Required methods

fn from_offset(offset: &Self::Offset) -> Self[src]

Reconstructs the time zone from the offset.

fn offset_from_local_date(&self, local: &NaiveDate) -> LocalResult<Self::Offset>[src]

Creates the offset(s) for given local NaiveDate if possible.

fn offset_from_local_datetime(
    &self,
    local: &NaiveDateTime
) -> LocalResult<Self::Offset>
[src]

Creates the offset(s) for given local NaiveDateTime if possible.

fn offset_from_utc_date(&self, utc: &NaiveDate) -> Self::Offset[src]

Creates the offset for given UTC NaiveDate. This cannot fail.

fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> Self::Offset[src]

Creates the offset for given UTC NaiveDateTime. This cannot fail.

Provided methods

fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>[src]

Makes a new Date from year, month, day and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Panics on the out-of-range date, invalid month and/or day.

Example

use chrono::{Utc, TimeZone};

assert_eq!(Utc.ymd(2015, 5, 15).to_string(), "2015-05-15UTC");

fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>[src]

Makes a new Date from year, month, day and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Returns None on the out-of-range date, invalid month and/or day.

Example

use chrono::{Utc, LocalResult, TimeZone};

assert_eq!(Utc.ymd_opt(2015, 5, 15).unwrap().to_string(), "2015-05-15UTC");
assert_eq!(Utc.ymd_opt(2000, 0, 0), LocalResult::None);

fn yo(&self, year: i32, ordinal: u32) -> Date<Self>[src]

Makes a new Date from year, day of year (DOY or “ordinal”) and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Panics on the out-of-range date and/or invalid DOY.

Example

use chrono::{Utc, TimeZone};

assert_eq!(Utc.yo(2015, 135).to_string(), "2015-05-15UTC");

fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>[src]

Makes a new Date from year, day of year (DOY or “ordinal”) and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Returns None on the out-of-range date and/or invalid DOY.

fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>[src]

Makes a new Date from ISO week date (year and week number), day of the week (DOW) and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE. The resulting Date may have a different year from the input year.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Panics on the out-of-range date and/or invalid week number.

Example

use chrono::{Utc, Weekday, TimeZone};

assert_eq!(Utc.isoywd(2015, 20, Weekday::Fri).to_string(), "2015-05-15UTC");

fn isoywd_opt(
    &self,
    year: i32,
    week: u32,
    weekday: Weekday
) -> LocalResult<Date<Self>>
[src]

Makes a new Date from ISO week date (year and week number), day of the week (DOW) and the current time zone. This assumes the proleptic Gregorian calendar, with the year 0 being 1 BCE. The resulting Date may have a different year from the input year.

The time zone normally does not affect the date (unless it is between UTC-24 and UTC+24), but it will propagate to the DateTime values constructed via this date.

Returns None on the out-of-range date and/or invalid week number.

fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>[src]

Makes a new DateTime from the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”) and the number of nanoseconds since the last whole non-leap second.

Panics on the out-of-range number of seconds and/or invalid nanosecond, for a non-panicking version see timestamp_opt.

Example

use chrono::{Utc, TimeZone};

assert_eq!(Utc.timestamp(1431648000, 0).to_string(), "2015-05-15 00:00:00 UTC");

fn timestamp_opt(&self, secs: i64, nsecs: u32) -> LocalResult<DateTime<Self>>[src]

Makes a new DateTime from the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”) and the number of nanoseconds since the last whole non-leap second.

Returns LocalResult::None on out-of-range number of seconds and/or invalid nanosecond, otherwise always returns LocalResult::Single.

fn timestamp_millis(&self, millis: i64) -> DateTime<Self>[src]

Makes a new DateTime from the number of non-leap milliseconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”).

Panics on out-of-range number of milliseconds for a non-panicking version see timestamp_millis_opt.

Example

use chrono::{Utc, TimeZone};

assert_eq!(Utc.timestamp_millis(1431648000).timestamp(), 1431648);

fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>>[src]

Makes a new DateTime from the number of non-leap milliseconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”).

Returns LocalResult::None on out-of-range number of milliseconds and/or invalid nanosecond, otherwise always returns LocalResult::Single.

Example

use chrono::{Utc, TimeZone, LocalResult};
match Utc.timestamp_millis_opt(1431648000) {
    LocalResult::Single(dt) => assert_eq!(dt.timestamp(), 1431648),
    _ => panic!("Incorrect timestamp_millis"),
};

fn timestamp_nanos(&self, nanos: i64) -> DateTime<Self>[src]

Makes a new DateTime from the number of non-leap nanoseconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”).

Unlike timestamp_millis, this never panics.

Example

use chrono::{Utc, TimeZone};

assert_eq!(Utc.timestamp_nanos(1431648000000000).timestamp(), 1431648);

fn datetime_from_str(
    &self,
    s: &str,
    fmt: &str
) -> Result<DateTime<Self>, ParseError>
[src]

Parses a string with the specified format string and returns a DateTime with the current offset. See the format::strftime module on the supported escape sequences.

If the format does not include offsets, the current offset is assumed; otherwise the input should have a matching UTC offset.

See also DateTime::parse_from_str which gives a local DateTime with parsed FixedOffset.

fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>>[src]

Converts the local NaiveDate to the timezone-aware Date if possible.

fn from_local_datetime(
    &self,
    local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
[src]

Converts the local NaiveDateTime to the timezone-aware DateTime if possible.

fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self>[src]

Converts the UTC NaiveDate to the local time. The UTC is continuous and thus this cannot fail (but can give the duplicate local time).

fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Self>[src]

Converts the UTC NaiveDateTime to the local time. The UTC is continuous and thus this cannot fail (but can give the duplicate local time).

Implementors

impl TimeZone for FixedOffset[src]

impl TimeZone for Local[src]

type Offset = FixedOffset

pub fn from_offset(_offset: &FixedOffset) -> Local[src]

pub fn offset_from_local_date(
    &self,
    local: &NaiveDate
) -> LocalResult<FixedOffset>
[src]

pub fn offset_from_local_datetime(
    &self,
    local: &NaiveDateTime
) -> LocalResult<FixedOffset>
[src]

pub fn offset_from_utc_date(&self, utc: &NaiveDate) -> FixedOffset[src]

pub fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> FixedOffset[src]

pub fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Local>>[src]

pub fn from_local_datetime(
    &self,
    local: &NaiveDateTime
) -> LocalResult<DateTime<Local>>
[src]

pub fn from_utc_date(&self, utc: &NaiveDate) -> Date<Local>[src]

pub fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Local>[src]

impl TimeZone for Utc[src]

type Offset = Utc

pub fn from_offset(_state: &Utc) -> Utc[src]

pub fn offset_from_local_date(&self, _local: &NaiveDate) -> LocalResult<Utc>[src]

pub fn offset_from_local_datetime(
    &self,
    _local: &NaiveDateTime
) -> LocalResult<Utc>
[src]

pub fn offset_from_utc_date(&self, _utc: &NaiveDate) -> Utc[src]

pub fn offset_from_utc_datetime(&self, _utc: &NaiveDateTime) -> Utc[src]