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
NaiveDateTimetoDateTime<Tz> - Converting the UTC
NaiveDateTimetoDateTime<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
timecrate. - 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.