A `GTimeZone` represents a time zone, at no particular point in time.
The `GTimeZone` struct is refcounted and immutable.
Each time zone has an identifier (for example, ‘Europe/London’) which is platform dependent. See [ctor@GLib.TimeZone.new] for
information on the identifier formats. The identifier of a time zone can be retrieved using [method@GLib.TimeZone.get_identifier].
A time zone contains a number of intervals. Each interval has an abbreviation to describe it (for example, ‘PDT’), an offset to UTC
and a flag indicating if the daylight savings time is in effect during that interval. A time zone always has at least one interval —
interval 0. Note that interval abbreviations are not the same as time zone identifiers (apart from ‘UTC’), and cannot be passed to [
ctor@GLib.TimeZone.new].
Every UTC time is contained within exactly one interval, but a given local time may be contained within zero, one or two intervals (due
to incontinuities associated with daylight savings time).
An interval may refer to a specific period of time (eg: the duration of daylight savings time during 2010) or it may refer to many
periods of time that share the same properties (eg: all periods of daylight savings time). It is also possible (usually for political
reasons) that some properties (like the abbreviation) change between intervals without other properties changing.