Expand description
The time zone, which calculates offsets from the local time to UTC.
There are four operations provided by the TimeZone
trait:
- Converting the local
NaiveDateTime
toDateTime<Tz>
- Converting the UTC
NaiveDateTime
toDateTime<Tz>
- Converting
DateTime<Tz>
to the localNaiveDateTime
- Constructing
DateTime<Tz>
objects from various offsets
1 is used for constructors. 2 is used for the with_timezone
method of date and time types.
3 is used for other methods, e.g. year()
or format()
, and provided by an associated type
which implements Offset
(which then passed to TimeZone
for actual implementations).
Technically speaking TimeZone
has a total knowledge about given timescale,
but Offset
is used as a cache to avoid the repeated conversion
and provides implementations for 1 and 3.
An TimeZone
instance can be reconstructed from the corresponding Offset
instance.
Structs
- The time zone with fixed offset, from UTC-23:59:59 to UTC+23:59:59.
- The local timescale. This is implemented via the standard
time
crate. - 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).
Enums
- The conversion result from the local time to the timezone-aware datetime types.
Traits
- The offset from the local time to UTC.
- The time zone.