Class (GI Struct)

GLib-2.0GLibTimeZoneSince 2.26

A GLib.TimeZone represents a time zone, at no particular point in time.

The GLib.TimeZone struct is refcounted and immutable.

Each time zone has an identifier (for example, ‘Europe/London’) which is platform dependent. See GLib.TimeZone.new for information on the identifier formats. The identifier of a time zone can be retrieved using 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 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.

2.26

Index

Constructors

Properties

Methods

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

    This function is similar to g_time_zone_find_interval(), with the difference that it always succeeds (by making the adjustments described below).

    In any of the cases where g_time_zone_find_interval() succeeds then this function returns the same value, without modifying time_.

    This function may, however, modify time_ in order to deal with non-existent times. If the non-existent local time_ of 02:30 were requested on March 14th 2010 in Toronto then this function would adjust time_ to be 03:00 and return the interval containing the adjusted time.

    Parameters

    • type: TimeType

      the GLib.TimeType of time_

    • time_: number

      a pointer to a number of seconds since January 1, 1970

    Returns [number, number]

    the interval containing time_, never -1

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

    If type is GLib.TimeType.UNIVERSAL then this function will always succeed (since universal time is monotonic and continuous).

    Otherwise time_ is treated as local time. The distinction between GLib.TimeType.STANDARD and GLib.TimeType.DAYLIGHT is ignored except in the case that the given time_ is ambiguous. In Toronto, for example, 01:30 on November 7th 2010 occurred twice (once inside of daylight savings time and the next, an hour later, outside of daylight savings time). In this case, the different value of type would result in a different interval being returned.

    It is still possible for this function to fail. In Toronto, for example, 02:00 on March 14th 2010 does not exist (due to the leap forward to begin daylight savings time). -1 is returned in that case.

    Parameters

    Returns number

    the interval containing time_, or -1 in case of failure

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

    For example, in Toronto this is currently "EST" during the winter months and "EDT" during the summer months when daylight savings time is in effect.

    Parameters

    • interval: number

      an interval within the timezone

    Returns string

    the time zone abbreviation, which belongs to tz

  • Get the identifier of this GLib.TimeZone, 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.

    The identifier will be returned in the same format as provided at construction time: if provided as a time offset, that will be returned by this function.

    Returns string

    identifier for this timezone

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

    The offset is the number of seconds that you add to UTC time to arrive at local time for tz (ie: negative numbers for time zones west of GMT, positive numbers for east).

    Parameters

    • interval: number

      an interval within the timezone

    Returns number

    the number of seconds that should be added to UTC to get the local time in tz

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

    Parameters

    • interval: number

      an interval within the timezone

    Returns boolean

    true if daylight savings time is in effect