mateweather-timezone

## mateweather-timezone mateweather-timezone |

## Synopsis

                        MateWeatherTimezone;
    const char *        mateweather_timezone_get_name          (MateWeatherTimezone *zone);
    const char *        mateweather_timezone_get_tzid          (MateWeatherTimezone *zone);
    int                 mateweather_timezone_get_offset        (MateWeatherTimezone *zone);
    gboolean            mateweather_timezone_has_dst           (MateWeatherTimezone *zone);
    int                 mateweather_timezone_get_dst_offset    (MateWeatherTimezone *zone);
    MateWeatherTimezone *  mateweather_timezone_ref               (MateWeatherTimezone *zone);
    void                mateweather_timezone_unref             (MateWeatherTimezone *zone);

## Description

## Details

### MateWeatherTimezone

    typedef struct _MateWeatherTimezone MateWeatherTimezone;

A timezone.

There are no public methods for creating timezones; they can only be created by calling `mateweather_location_new_world()` to parse Locations.xml, and then calling various MateWeatherLocation methods to extract relevant timezones from the location hierarchy.

### mateweather_timezone_get_name ()

    const char *        mateweather_timezone_get_name          (MateWeatherTimezone *zone);

Gets `zone`'s name; a translated, user-presentable string.

Note that the returned name might not be unique among timezones, and may not make sense to the user unless it is presented along with the timezone's country's name (or in some context where the country is obvious).

`zone` : | a MateWeatherTimezone
Returns : | `zone`'s name

### mateweather_timezone_get_tzid ()

    const char *        mateweather_timezone_get_tzid          (MateWeatherTimezone *zone);

Gets `zone`'s tzdata identifier, eg "America/New_York".

`zone` : | a MateWeatherTimezone
Returns : | `zone`'s tzid

### mateweather_timezone_get_offset ()

    int                 mateweather_timezone_get_offset        (MateWeatherTimezone *zone);

Gets `zone`'s standard offset from UTC, in minutes. Eg, a value of `120` would indicate "GMT+2".

`zone` : | a MateWeatherTimezone
Returns : | `zone`'s standard offset, in minutes

### mateweather_timezone_has_dst ()

    gboolean            mateweather_timezone_has_dst           (MateWeatherTimezone *zone);

Checks if `zone` observes daylight/summer time for part of the year.

`zone` : | a MateWeatherTimezone
Returns : | `TRUE` if `zone` observes daylight/summer time.

### mateweather_timezone_get_dst_offset ()

    int                 mateweather_timezone_get_dst_offset    (MateWeatherTimezone *zone);

Gets `zone`'s daylight/summer time offset from UTC, in minutes. Eg, a value of `120` would indicate "GMT+2". This is only meaningful if `mateweather_timezone_has_dst()` returns `TRUE`.

`zone` : | a MateWeatherTimezone
Returns : | `zone`'s daylight/summer time offset, in minutes

### mateweather_timezone_ref ()

    MateWeatherTimezone *  mateweather_timezone_ref               (MateWeatherTimezone *zone);

Adds 1 to `zone`'s reference count.

`zone` : | a MateWeatherTimezone
Returns : | `zone`

### mateweather_timezone_unref ()

    void                mateweather_timezone_unref             (MateWeatherTimezone *zone);

Subtracts 1 from `zone`'s reference count and frees it if it reaches 0.

`zone` : | a MateWeatherTimezone