GLib.TimeVal¶
Methods¶
class | from_iso8601 (iso_date) |
add (microseconds) |
|
to_iso8601 () |
Details¶
-
class
GLib.
TimeVal
¶ Represents a precise time, with seconds and microseconds. Similar to the struct timeval returned by the gettimeofday() UNIX system call.
GLib is attempting to unify around the use of 64-bit integers to represent microsecond-precision time. As such, this type will be removed from a future version of GLib. A consequence of using
glong
fortv_sec
is that on 32-bit systemsGTimeVal
is subject to the year 2038 problem.Deprecated since version 2.62: Use
GLib.DateTime
or #guint64 instead.-
classmethod
from_iso8601
(iso_date)[source]¶ Parameters: iso_date ( str
) – an ISO 8601 encoded date stringReturns: True
if the conversion was successful.time_: a GLib.TimeVal
Return type: ( bool
, time_:GLib.TimeVal
)Converts a string containing an ISO 8601 encoded date and time to a
GLib.TimeVal
and puts it into time_.iso_date must include year, month, day, hours, minutes, and seconds. It can optionally include fractions of a second and a time zone indicator. (In the absence of any time zone indication, the timestamp is assumed to be in local time.)
Any leading or trailing space in iso_date is ignored.
This function was deprecated, along with
GLib.TimeVal
itself, in GLib 2.62. Equivalent functionality is available using code like:GDateTime *dt = g_date_time_new_from_iso8601 (iso8601_string, NULL); gint64 time_val = g_date_time_to_unix (dt); g_date_time_unref (dt);
New in version 2.12.
Deprecated since version 2.62:
GLib.TimeVal
is not year-2038-safe. UseGLib.DateTime.new_from_iso8601
() instead.
-
add
(microseconds)[source]¶ Parameters: microseconds ( int
) – number of microseconds to add to timeAdds the given number of microseconds to self. microseconds can also be negative to decrease the value of self.
Deprecated since version 2.62:
GLib.TimeVal
is not year-2038-safe. Useguint64
for representing microseconds since the epoch, or useGLib.DateTime
.
-
to_iso8601
()[source]¶ Returns: a newly allocated string containing an ISO 8601 date, or None
if self was too largeReturn type: str
orNone
Converts self 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:py:data::SSZ<GLib.TimeVal.props.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
GLib.DateTime.format
() or g_strdup_printf() if a different variation of ISO 8601 format is required.If self represents a date which is too large to fit into a
struct tm
,None
will be returned. This is platform dependent. Note also that sinceGTimeVal
stores the number of seconds as aglong
, 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
GLib.TimeVal.to_iso8601
() has been nullable since GLib 2.54; before then, GLib would crash under the same conditions.New in version 2.12.
Deprecated since version 2.62:
GLib.TimeVal
is not year-2038-safe. UseGLib.DateTime.format_iso8601
(dt) instead.
-
classmethod