Method
GLibTimeValto_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.