Class TimeVal
- All Implemented Interfaces:
Proxy
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 for
tv_sec is that on 32-bit systems GTimeVal is subject to the year 2038
problem.
-
Constructor Summary
ConstructorsConstructorDescriptionTimeVal()Deprecated.Allocate a new TimeVal.TimeVal(int tvSec, int tvUsec) Deprecated.Allocate a new TimeVal with the fields set to the provided values.Deprecated.Allocate a new TimeVal with the fields set to the provided values.Deprecated.Allocate a new TimeVal.TimeVal(MemorySegment address) Deprecated.Create a TimeVal proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int microseconds) Deprecated.GTimeValis not year-2038-safe.static booleanfromIso8601(String isoDate, TimeVal time) Deprecated.GTimeValis not year-2038-safe.static MemoryLayoutDeprecated.The memory layout of the native struct.intDeprecated.Read the value of the fieldtv_sec.intDeprecated.Read the value of the fieldtv_usec.@Nullable StringDeprecated.GTimeValis not year-2038-safe.voidwriteTvSec(int tvSec) Deprecated.Write a value in the fieldtv_sec.voidwriteTvUsec(int tvUsec) Deprecated.Write a value in the fieldtv_usec.Methods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
TimeVal
Deprecated.Create a TimeVal proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
TimeVal
Deprecated.Allocate a new TimeVal.- Parameters:
arena- to control the memory allocation scope
-
TimeVal
-
TimeVal
Deprecated.Allocate a new TimeVal with the fields set to the provided values.- Parameters:
tvSec- value for the fieldtvSectvUsec- value for the fieldtvUsecarena- to control the memory allocation scope
-
TimeVal
public TimeVal(int tvSec, int tvUsec) Deprecated.Allocate a new TimeVal with the fields set to the provided values. The memory is allocated withArena.ofAuto().- Parameters:
tvSec- value for the fieldtvSectvUsec- value for the fieldtvUsec
-
-
Method Details
-
getMemoryLayout
Deprecated.The memory layout of the native struct.- Returns:
- the memory layout
-
readTvSec
public int readTvSec()Deprecated.Read the value of the fieldtv_sec.- Returns:
- The value of the field
tv_sec
-
writeTvSec
public void writeTvSec(int tvSec) Deprecated.Write a value in the fieldtv_sec.- Parameters:
tvSec- The new value for the fieldtv_sec
-
readTvUsec
public int readTvUsec()Deprecated.Read the value of the fieldtv_usec.- Returns:
- The value of the field
tv_usec
-
writeTvUsec
public void writeTvUsec(int tvUsec) Deprecated.Write a value in the fieldtv_usec.- Parameters:
tvUsec- The new value for the fieldtv_usec
-
fromIso8601
Deprecated.GTimeValis not year-2038-safe. Use g_date_time_new_from_iso8601() instead.Converts a string containing an ISO 8601 encoded date and time to aGTimeValand puts it intotime.isoDatemust 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
isoDateis ignored.This function was deprecated, along with
GTimeValitself, 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);- Parameters:
isoDate- an ISO 8601 encoded date stringtime- aGTimeVal- Returns:
trueif the conversion was successful.- Since:
- 2.12
-
add
Deprecated.GTimeValis not year-2038-safe. Useguint64for representing microseconds since the epoch, or useGDateTime.Adds the given number of microseconds totime.microsecondscan also be negative to decrease the value oftime.- Parameters:
microseconds- number of microseconds to add totime
-
toIso8601
Deprecated.GTimeValis not year-2038-safe. Use g_date_time_format_iso8601(dt) instead.Converts this TimeVal 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
tvUsecpart 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 this TimeVal represents a date which is too large to fit into a
struct tm,nullwill be returned. This is platform dependent. Note also that sinceGTimeValstores 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 g_time_val_to_iso8601() has been nullable since GLib 2.54; before then, GLib would crash under the same conditions.
- Returns:
- a newly allocated string containing an ISO 8601 date,
or
nullif this TimeVal was too large - Since:
- 2.12
-
GDateTimeorguint64instead.