pub struct Local;Expand description
The local timescale.
Using the TimeZone methods
on the Local struct is the preferred way to construct DateTime<Local>
instances.
§Example
use chrono::{DateTime, Local, TimeZone};
let dt1: DateTime<Local> = Local::now();
let dt2: DateTime<Local> = Local.timestamp_opt(0, 0).unwrap();
assert!(dt1 >= dt2);Implementations§
Source§impl Local
 
impl Local
Sourcepub fn today() -> Date<Local>
 👎Deprecated since 0.4.23: use Local::now() instead
pub fn today() -> Date<Local>
Local::now() insteadReturns a Date which corresponds to the current date.
Sourcepub fn now() -> DateTime<Local>
 
pub fn now() -> DateTime<Local>
Returns a DateTime<Local> which corresponds to the current date, time and offset from
UTC.
See also the similar Utc::now() which returns DateTime<Utc>, i.e. without the local
offset.
§Example
// Current local time
let now = Local::now();
// Current local date
let today = now.date_naive();
// Current local time, converted to `DateTime<FixedOffset>`
let now_fixed_offset = Local::now().fixed_offset();
// or
let now_fixed_offset: DateTime<FixedOffset> = Local::now().into();
// Current time in some timezone (let's use +05:00)
// Note that it is usually more efficient to use `Utc::now` for this use case.
let offset = FixedOffset::east_opt(5 * 60 * 60).unwrap();
let now_with_offset = Local::now().with_timezone(&offset);Trait Implementations§
Source§impl TimeZone for Local
 
impl TimeZone for Local
Source§type Offset = FixedOffset
 
type Offset = FixedOffset
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.Source§fn from_offset(_offset: &FixedOffset) -> Local
 
fn from_offset(_offset: &FixedOffset) -> Local
Reconstructs the time zone from the offset.
Source§fn offset_from_local_date(&self, local: &NaiveDate) -> LocalResult<FixedOffset>
 
fn offset_from_local_date(&self, local: &NaiveDate) -> LocalResult<FixedOffset>
Creates the offset(s) for given local 
NaiveDate if possible.Source§fn offset_from_local_datetime(
    &self,
    local: &NaiveDateTime,
) -> LocalResult<FixedOffset>
 
fn offset_from_local_datetime( &self, local: &NaiveDateTime, ) -> LocalResult<FixedOffset>
Creates the offset(s) for given local 
NaiveDateTime if possible.Source§fn offset_from_utc_date(&self, utc: &NaiveDate) -> FixedOffset
 
fn offset_from_utc_date(&self, utc: &NaiveDate) -> FixedOffset
Creates the offset for given UTC 
NaiveDate. This cannot fail.Source§fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> FixedOffset
 
fn offset_from_utc_datetime(&self, utc: &NaiveDateTime) -> FixedOffset
Creates the offset for given UTC 
NaiveDateTime. This cannot fail.Source§fn with_ymd_and_hms(
    &self,
    year: i32,
    month: u32,
    day: u32,
    hour: u32,
    min: u32,
    sec: u32,
) -> LocalResult<DateTime<Self>>
 
fn with_ymd_and_hms( &self, year: i32, month: u32, day: u32, hour: u32, min: u32, sec: u32, ) -> LocalResult<DateTime<Self>>
Make a new 
DateTime from year, month, day, time components and current time zone. Read moreSource§fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
 
fn ymd(&self, year: i32, month: u32, day: u32) -> Date<Self>
👎Deprecated since 0.4.23: use 
with_ymd_and_hms() insteadMakes 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. Read moreSource§fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>
 
fn ymd_opt(&self, year: i32, month: u32, day: u32) -> LocalResult<Date<Self>>
👎Deprecated since 0.4.23: use 
with_ymd_and_hms() insteadMakes 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. Read moreSource§fn yo(&self, year: i32, ordinal: u32) -> Date<Self>
 
fn yo(&self, year: i32, ordinal: u32) -> Date<Self>
👎Deprecated since 0.4.23: use 
from_local_datetime() with a NaiveDateTime insteadMakes 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. Read moreSource§fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>
 
fn yo_opt(&self, year: i32, ordinal: u32) -> LocalResult<Date<Self>>
👎Deprecated since 0.4.23: use 
from_local_datetime() with a NaiveDateTime insteadMakes 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. Read moreSource§fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>
 
fn isoywd(&self, year: i32, week: u32, weekday: Weekday) -> Date<Self>
👎Deprecated since 0.4.23: use 
from_local_datetime() with a NaiveDateTime insteadMakes 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. Read moreSource§fn isoywd_opt(
    &self,
    year: i32,
    week: u32,
    weekday: Weekday,
) -> LocalResult<Date<Self>>
 
fn isoywd_opt( &self, year: i32, week: u32, weekday: Weekday, ) -> LocalResult<Date<Self>>
👎Deprecated since 0.4.23: use 
from_local_datetime() with a NaiveDateTime insteadMakes 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. Read moreSource§fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>
 
fn timestamp(&self, secs: i64, nsecs: u32) -> DateTime<Self>
👎Deprecated since 0.4.23: use 
timestamp_opt() insteadMakes 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. Read moreSource§fn timestamp_opt(&self, secs: i64, nsecs: u32) -> LocalResult<DateTime<Self>>
 
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. Read moreSource§fn timestamp_millis(&self, millis: i64) -> DateTime<Self>
 
fn timestamp_millis(&self, millis: i64) -> DateTime<Self>
👎Deprecated since 0.4.23: use 
timestamp_millis_opt() insteadMakes a new 
DateTime from the number of non-leap milliseconds
since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”). Read moreSource§fn timestamp_millis_opt(&self, millis: i64) -> LocalResult<DateTime<Self>>
 
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”). Read moreSource§fn timestamp_nanos(&self, nanos: i64) -> DateTime<Self>
 
fn timestamp_nanos(&self, nanos: i64) -> DateTime<Self>
Makes a new 
DateTime from the number of non-leap nanoseconds
since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”). Read moreSource§fn timestamp_micros(&self, micros: i64) -> LocalResult<DateTime<Self>>
 
fn timestamp_micros(&self, micros: i64) -> LocalResult<DateTime<Self>>
Makes a new 
DateTime from the number of non-leap microseconds
since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”). Read moreSource§fn datetime_from_str(
    &self,
    s: &str,
    fmt: &str,
) -> Result<DateTime<Self>, ParseError>
 
fn datetime_from_str( &self, s: &str, fmt: &str, ) -> Result<DateTime<Self>, ParseError>
👎Deprecated since 0.4.29: use 
DateTime::parse_from_str or NaiveDateTime::parse_from_str with and_utc() or and_local_timezone() insteadParses a string with the specified format string and returns a
DateTime with the current offset. Read moreSource§fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>>
 
fn from_local_date(&self, local: &NaiveDate) -> LocalResult<Date<Self>>
👎Deprecated since 0.4.23: use 
from_local_datetime() insteadConverts the local 
NaiveDate to the timezone-aware Date if possible.Source§fn from_local_datetime(
    &self,
    local: &NaiveDateTime,
) -> LocalResult<DateTime<Self>>
 
fn from_local_datetime( &self, local: &NaiveDateTime, ) -> LocalResult<DateTime<Self>>
Converts the local 
NaiveDateTime to the timezone-aware DateTime if possible.Source§fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self>
 
fn from_utc_date(&self, utc: &NaiveDate) -> Date<Self>
👎Deprecated since 0.4.23: use 
from_utc_datetime() insteadConverts the UTC 
NaiveDate to the local time.
The UTC is continuous and thus this cannot fail (but can give the duplicate local time).Source§fn from_utc_datetime(&self, utc: &NaiveDateTime) -> DateTime<Self>
 
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).impl Copy for Local
Auto Trait Implementations§
impl Freeze for Local
impl RefUnwindSafe for Local
impl Send for Local
impl Sync for Local
impl Unpin for Local
impl UnwindSafe for Local
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more