GLib.TimeVal.to_iso8601

### Method

# GLib TimeValto_iso8601

deprecated: 2.62 since: 2.12

#### Declaration [src]

    gchar*
    g_time_val_to_iso8601 (
      GTimeVal* time_
    )

#### Description [src]

Converts `time_` into an RFC 3339 encoded string, relative to the Coordinated Universal Time (UTC). This is one of the many formats allowed by ISO 8601.

ISO 8601 allows a large number of date/time formats, with or without punctuation and optional elements. The format returned by this function is a complete date and time, with optional punctuation included, the UTC time zone represented as “Z”, and the `tv_usec` part included if and only if it is nonzero, i.e. either “YYYY-MM-DDTHH:MM:SSZ” or “YYYY-MM-DDTHH:MM:SS.fffffZ”.

This corresponds to the Internet date/time format defined by RFC 3339, and to either of the two most-precise formats defined by the W3C Note Date and Time Formats. Both of these documents are profiles of ISO 8601.

Use `g_date_time_format()` or `g_strdup_printf()` if a different variation of ISO 8601 format is required.

If `time_` represents a date which is too large to fit into a `struct tm`, `NULL` will be returned. This is platform dependent. Note also that since `GTimeVal` stores the number of seconds as a `glong`, on 32-bit systems it is subject to the year 2038 problem. Accordingly, since GLib 2.62, this function has been deprecated. Equivalent functionality is available using:

    GDateTime *dt = g_date_time_new_from_unix_utc (time_val);
    iso8601_string = g_date_time_format_iso8601 (dt);
    g_date_time_unref (dt);

The return value of `g_time_val_to_iso8601()` has been nullable since GLib 2.54; before then, GLib would crash under the same conditions.

Available since: 2.12

Deprecated since: 2.62

`GTimeVal` is not year-2038-safe. Use g_date_time_format_iso8601(dt) instead.

#### Return value

Type: `gchar*`

A newly allocated string containing an ISO 8601 date, or `NULL` if `time_` was too large.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be `NULL`.
The value is a NUL terminated UTF-8 string.