# Module chrono::offset [−] [src]

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.

## Structs

FixedOffset | The time zone with fixed offset, from UTC-23:59:59 to UTC+23:59:59.
Local | The local timescale. This is implemented via the standard `time` crate.
Utc | 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

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

## Traits

Offset | The offset from the local time to UTC.
TimeZone | The time zone.