Function
GLibDateTimenew_from_iso8601
since: 2.56
Declaration [src]
GDateTime*
g_date_time_new_from_iso8601 (
const gchar* text,
GTimeZone* default_tz
)
Description [src]
Creates a GDateTime
corresponding to the given
ISO 8601 formatted string
text
. ISO 8601 strings of the form <date><sep><time><tz>
are supported, with
some extensions from RFC 3339 as
mentioned below.
Note that as GDateTime
“is oblivious to leap seconds”, leap seconds information
in an ISO-8601 string will be ignored, so a 23:59:60
time would be parsed as
23:59:59
.
<sep>
is the separator and can be either ‘T’, ‘t’ or ‘ ‘. The latter two
separators are an extension from
RFC 3339.
<date>
is in the form:
YYYY-MM-DD
- Year/month/day, e.g. 2016-08-24.YYYYMMDD
- Same as above without dividers.YYYY-DDD
- Ordinal day where DDD is from 001 to 366, e.g. 2016-237.YYYYDDD
- Same as above without dividers.YYYY-Www-D
- Week day where ww is from 01 to 52 and D from 1-7, e.g. 2016-W34-3.YYYYWwwD
- Same as above without dividers.
<time>
is in the form:
hh:mm:ss(.sss)
- Hours, minutes, seconds (subseconds), e.g. 22:10:42.123.hhmmss(.sss)
- Same as above without dividers.
<tz>
is an optional timezone suffix of the form:
Z
- UTC.+hh:mm
or-hh:mm
- Offset from UTC in hours and minutes, e.g. +12:00.+hh
or-hh
- Offset from UTC in hours, e.g. +12.
If the timezone is not provided in text
it must be provided in default_tz
(this field is otherwise ignored).
This call can fail (returning NULL
) if text
is not a valid ISO 8601
formatted string.
You should release the return value by calling g_date_time_unref()
when you are done with it.
Available since: 2.56
Parameters
text
-
Type:
const gchar*
An ISO 8601 formatted time string.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. default_tz
-
Type:
GTimeZone
A
GTimeZone
to use if the text doesn’t contain a timezone, orNULL
.The argument can be NULL
.The data is owned by the caller of the function.
Return value
Type: GDateTime
A new GDateTime
, or NULL
.
The caller of the function takes ownership of the data, and is responsible for freeing it. |
The return value can be NULL . |