GLib.TimeVal¶
Fields¶
Name |
Type |
Access |
Description |
---|---|---|---|
tv_sec |
r/w |
seconds |
|
tv_usec |
r/w |
microseconds |
Methods¶
class |
|
|
|
|
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 string- Returns:
True
if the conversion was successful.- 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 time
Adds 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 large- Return type:
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.