### Struct

# GLib TimeZone

since: 2.26

#### Description

    struct GTimeZone {
      /* No available fields */
    }

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 `g_time_zone_new()` for information on the identifier formats. The identifier of a time zone can be retrieved using `g_time_zone_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 `g_time_zone_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.

Available since: 2.26

#### Constructors

###### g_time_zone_new

A version of `g_time_zone_new_identifier()` which returns the UTC time zone if `identifier` could not be parsed or loaded.

deprecated: 2.68 since: 2.26

###### g_time_zone_new_identifier

Creates a `GTimeZone` corresponding to `identifier`. If `identifier` cannot be parsed or loaded, `NULL` is returned.

since: 2.68

###### g_time_zone_new_local

Creates a `GTimeZone` corresponding to local time. The local time zone may change between invocations to this function; for example, if the system administrator changes it.

since: 2.26

###### g_time_zone_new_offset

Creates a `GTimeZone` corresponding to the given constant offset from UTC, in seconds.

since: 2.58

###### g_time_zone_new_utc

Creates a `GTimeZone` corresponding to UTC.

since: 2.26

#### Instance methods

###### g_time_zone_adjust_time

Finds an interval within `tz` that corresponds to the given `time_`, possibly adjusting `time_` if required to fit into an interval. The meaning of `time_` depends on `type`.

since: 2.26

###### g_time_zone_find_interval

Finds an interval within `tz` that corresponds to the given `time_`. The meaning of `time_` depends on `type`.

since: 2.26

###### g_time_zone_get_abbreviation

Determines the time zone abbreviation to be used during a particular `interval` of time in the time zone `tz`.

since: 2.26

###### g_time_zone_get_identifier

Get the identifier of this `GTimeZone`, as passed to g_time_zone_new(). If the identifier passed at construction time was not recognised, `UTC` will be returned. If it was `NULL`, the identifier of the local timezone at construction time will be returned.

since: 2.58

###### g_time_zone_get_offset

Determines the offset to UTC in effect during a particular `interval` of time in the time zone `tz`.

since: 2.26

###### g_time_zone_is_dst

Determines if daylight savings time is in effect during a particular `interval` of time in the time zone `tz`.

since: 2.26

###### g_time_zone_ref

Increases the reference count on `tz`.

since: 2.26

###### g_time_zone_unref

Decreases the reference count on `tz`.

since: 2.26