[][src]Trait sentry_types::TimeZone

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

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.

Loading content...

Required methods

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

Reconstructs the time zone from the offset.

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

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

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

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

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

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

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

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

Loading content...

Provided methods

pub 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");

pub 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);

pub 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");

pub 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.

pub 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");

pub 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.

pub 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");

pub 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.

pub 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);

pub 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"),
};

pub 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);

pub 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.

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

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

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

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

pub 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).

pub 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).

Loading content...

Implementations on Foreign Types

impl TimeZone for Local[src]

type Offset = FixedOffset

impl TimeZone for FixedOffset[src]

Loading content...

Implementors

impl TimeZone for Utc[src]

type Offset = Utc

Loading content...