Module chrono::offset

source ·
Expand description

The time zone, which calculates offsets from the local time to UTC.

There are four operations provided by the TimeZone trait:

  1. Converting the local NaiveDateTime to DateTime<Tz>
  2. Converting the UTC NaiveDateTime to DateTime<Tz>
  3. Converting DateTime<Tz> to the local NaiveDateTime
  4. 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.


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).


The conversion result from the local time to the timezone-aware datetime types.


The offset from the local time to UTC.
The time zone.