pub struct Utc;
Expand description
The UTC time zone. This is the most efficient time zone when you don’t need the local time. It is also used as an offset (which is also a dummy type).
Using the TimeZone
methods
on the UTC struct is the preferred way to construct DateTime<Utc>
instances.
§Example
use chrono::{DateTime, TimeZone, Utc};
let dt = DateTime::from_timestamp(61, 0).unwrap();
assert_eq!(Utc.timestamp_opt(61, 0).unwrap(), dt);
assert_eq!(Utc.with_ymd_and_hms(1970, 1, 1, 0, 1, 1).unwrap(), dt);
Implementations§
Source§impl Utc
impl Utc
Sourcepub fn today() -> Date<Utc>
👎Deprecated since 0.4.23: use Utc::now()
instead, potentially with .date_naive()
pub fn today() -> Date<Utc>
Utc::now()
instead, potentially with .date_naive()
Returns a Date
which corresponds to the current date.
Sourcepub fn now() -> DateTime<Utc>
pub fn now() -> DateTime<Utc>
Returns a DateTime<Utc>
which corresponds to the current date and time in UTC.
See also the similar Local::now()
which returns DateTime<Local>
, i.e. the local date
and time including offset from UTC.
§Example
// Current time in UTC
let now_utc = Utc::now();
// Current date in UTC
let today_utc = now_utc.date_naive();
// Current time in some timezone (let's use +05:00)
let offset = FixedOffset::east_opt(5 * 60 * 60).unwrap();
let now_with_offset = Utc::now().with_timezone(&offset);
Trait Implementations§
Source§impl Offset for Utc
impl Offset for Utc
Source§fn fix(&self) -> FixedOffset
fn fix(&self) -> FixedOffset
Returns the fixed offset from UTC to the local time stored.
Source§impl TimeZone for Utc
impl TimeZone for Utc
Source§type Offset = Utc
type Offset = Utc
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(_state: &Utc) -> Utc
fn from_offset(_state: &Utc) -> Utc
Reconstructs the time zone from the offset.
Source§fn offset_from_local_date(&self, _local: &NaiveDate) -> LocalResult<Utc>
fn offset_from_local_date(&self, _local: &NaiveDate) -> LocalResult<Utc>
Creates the offset(s) for given local
NaiveDate
if possible.Source§fn offset_from_local_datetime(&self, _local: &NaiveDateTime) -> LocalResult<Utc>
fn offset_from_local_datetime(&self, _local: &NaiveDateTime) -> LocalResult<Utc>
Creates the offset(s) for given local
NaiveDateTime
if possible.Source§fn offset_from_utc_date(&self, _utc: &NaiveDate) -> Utc
fn offset_from_utc_date(&self, _utc: &NaiveDate) -> Utc
Creates the offset for given UTC
NaiveDate
. This cannot fail.Source§fn offset_from_utc_datetime(&self, _utc: &NaiveDateTime) -> Utc
fn offset_from_utc_datetime(&self, _utc: &NaiveDateTime) -> Utc
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 Utc
impl Eq for Utc
impl StructuralPartialEq for Utc
Auto Trait Implementations§
impl Freeze for Utc
impl RefUnwindSafe for Utc
impl Send for Utc
impl Sync for Utc
impl Unpin for Utc
impl UnwindSafe for Utc
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> ValidateIp for Twhere
T: ToString,
impl<T> ValidateIp for Twhere
T: ToString,
§fn validate_ipv4(&self) -> bool
fn validate_ipv4(&self) -> bool
Validates whether the given string is an IP V4
§fn validate_ipv6(&self) -> bool
fn validate_ipv6(&self) -> bool
Validates whether the given string is an IP V6
§fn validate_ip(&self) -> bool
fn validate_ip(&self) -> bool
Validates whether the given string is an IP