[−][src]Trait chrono::offset::TimeZone
Associated Types
type Offset: Offset
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
Reconstructs the time zone from the offset.
fn offset_from_local_date(&self, local: &NaiveDate) -> LocalResult<Self::Offset>
Creates the offset(s) for given local NaiveDate
if possible.
fn offset_from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<Self::Offset>
&self,
local: &NaiveDateTime
) -> LocalResult<Self::Offset>
Creates the offset(s) for given local NaiveDateTime
if possible.
fn offset_from_utc_date(&self, utc: &NaiveDate) -> Self::Offset
Creates the offset for given UTC NaiveDate
. This cannot fail.
fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> Self::Offset
Creates the offset for given UTC NaiveDateTime
. This cannot fail.
Provided methods
fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
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>>
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>
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>>
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>
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>>
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
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>
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>>
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>
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>>
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 datetime_from_str(&self, s: &str, fmt: &str) -> ParseResult<DateTime<Self>>
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>>
Converts the local NaiveDate
to the timezone-aware Date
if possible.
fn from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
Converts the local NaiveDateTime
to the timezone-aware DateTime
if possible.
fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self>
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>
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]
type Offset = FixedOffset
fn from_offset(offset: &FixedOffset) -> FixedOffset
[src]
fn offset_from_local_date(&self, _local: &NaiveDate) -> LocalResult<FixedOffset>
[src]
fn offset_from_local_datetime(
&self,
_local: &NaiveDateTime
) -> LocalResult<FixedOffset>
[src]
&self,
_local: &NaiveDateTime
) -> LocalResult<FixedOffset>
fn offset_from_utc_date(&self, _utc: &NaiveDate) -> FixedOffset
[src]
fn offset_from_utc_datetime(&self, _utc: &NaiveDateTime) -> FixedOffset
[src]
fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
[src]
fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>
[src]
fn yo(&self, year: i32, ordinal: u32) -> Date<Self>
[src]
fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>
[src]
fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>
[src]
fn isoywd_opt(
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
[src]
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>
[src]
fn timestamp_opt(&self, secs: i64, nsecs: u32) -> LocalResult<DateTime<Self>>
[src]
fn timestamp_millis(&self, millis: i64) -> DateTime<Self>
[src]
fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>>
[src]
fn datetime_from_str(&self, s: &str, fmt: &str) -> ParseResult<DateTime<Self>>
[src]
fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>>
[src]
fn from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
[src]
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self>
[src]
fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Self>
[src]
impl TimeZone for Local
[src]
type Offset = FixedOffset
fn from_offset(_offset: &FixedOffset) -> Local
[src]
fn offset_from_local_date(&self, local: &NaiveDate) -> LocalResult<FixedOffset>
[src]
fn offset_from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<FixedOffset>
[src]
&self,
local: &NaiveDateTime
) -> LocalResult<FixedOffset>
fn offset_from_utc_date(&self, utc: &NaiveDate) -> FixedOffset
[src]
fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> FixedOffset
[src]
fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Local>>
[src]
fn from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Local>>
[src]
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Local>>
fn from_utc_date(&self, utc: &NaiveDate) -> Date<Local>
[src]
fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Local>
[src]
fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
[src]
fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>
[src]
fn yo(&self, year: i32, ordinal: u32) -> Date<Self>
[src]
fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>
[src]
fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>
[src]
fn isoywd_opt(
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
[src]
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>
[src]
fn timestamp_opt(&self, secs: i64, nsecs: u32) -> LocalResult<DateTime<Self>>
[src]
fn timestamp_millis(&self, millis: i64) -> DateTime<Self>
[src]
fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>>
[src]
fn datetime_from_str(&self, s: &str, fmt: &str) -> ParseResult<DateTime<Self>>
[src]
impl TimeZone for Utc
[src]
type Offset = Utc
fn from_offset(_state: &Utc) -> Utc
[src]
fn offset_from_local_date(&self, _local: &NaiveDate) -> LocalResult<Utc>
[src]
fn offset_from_local_datetime(&self, _local: &NaiveDateTime) -> LocalResult<Utc>
[src]
fn offset_from_utc_date(&self, _utc: &NaiveDate) -> Utc
[src]
fn offset_from_utc_datetime(&self, _utc: &NaiveDateTime) -> Utc
[src]
fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
[src]
fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>
[src]
fn yo(&self, year: i32, ordinal: u32) -> Date<Self>
[src]
fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>
[src]
fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>
[src]
fn isoywd_opt(
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
[src]
&self,
year: i32,
week: u32,
weekday: Weekday
) -> LocalResult<Date<Self>>
fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>
[src]
fn timestamp_opt(&self, secs: i64, nsecs: u32) -> LocalResult<DateTime<Self>>
[src]
fn timestamp_millis(&self, millis: i64) -> DateTime<Self>
[src]
fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>>
[src]
fn datetime_from_str(&self, s: &str, fmt: &str) -> ParseResult<DateTime<Self>>
[src]
fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>>
[src]
fn from_local_datetime(
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>
[src]
&self,
local: &NaiveDateTime
) -> LocalResult<DateTime<Self>>