Struct
GLibDateTime
since: 2.26
Description [src]
struct GDateTime {
/* No available fields */
}
GDateTime
is a structure that combines a Gregorian date and time
into a single structure.
GDateTime
provides many conversion and methods to manipulate dates and times.
Time precision is provided down to microseconds and the time can range
(proleptically) from 0001-01-01 00:00:00 to 9999-12-31 23:59:59.999999.
GDateTime
follows POSIX time in the sense that it is oblivious to leap seconds.
GDateTime
is an immutable object; once it has been created it cannot
be modified further. All modifiers will create a new GDateTime
.
Nearly all such functions can fail due to the date or time going out
of range, in which case NULL
will be returned.
GDateTime
is reference counted: the reference count is increased by calling
g_date_time_ref()
and decreased by calling g_date_time_unref()
.
When the reference count drops to 0, the resources allocated by the GDateTime
structure are released.
Many parts of the API may produce non-obvious results. As an example, adding two months to January 31st will yield March 31st whereas adding one month and then one month again will yield either March 28th or March 29th. Also note that adding 24 hours is not always the same as adding one day (since days containing daylight savings time transitions are either 23 or 25 hours in length).
Available since: 2.26
Constructors
g_date_time_new
Creates a new GDateTime
corresponding to the given date and time in
the time zone tz
.
since: 2.26
g_date_time_new_from_iso8601
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.
since: 2.56
g_date_time_new_from_timeval_local
Creates a GDateTime
corresponding to the given GTimeVal
tv
in the
local time zone.
deprecated: 2.62 since: 2.26
g_date_time_new_from_timeval_utc
Creates a GDateTime
corresponding to the given GTimeVal
tv
in UTC.
deprecated: 2.62 since: 2.26
g_date_time_new_from_unix_local
Creates a GDateTime
corresponding to the given Unix time t
in the
local time zone.
since: 2.26
g_date_time_new_from_unix_local_usec
Creates a GDateTime
corresponding to the given Unix time t
in the
local time zone.
since: 2.80
g_date_time_new_from_unix_utc
Creates a GDateTime
corresponding to the given Unix time t
in UTC.
since: 2.26
g_date_time_new_from_unix_utc_usec
Creates a GDateTime
corresponding to the given Unix time t
in UTC.
since: 2.80
g_date_time_new_local
Creates a new GDateTime
corresponding to the given date and time in
the local time zone.
since: 2.26
g_date_time_new_now
Creates a GDateTime
corresponding to this exact instant in the given
time zone tz
. The time is as accurate as the system allows, to a
maximum accuracy of 1 microsecond.
since: 2.26
g_date_time_new_now_local
Creates a GDateTime
corresponding to this exact instant in the local
time zone.
since: 2.26
g_date_time_new_utc
Creates a new GDateTime
corresponding to the given date and time in
UTC.
since: 2.26
Instance methods
g_date_time_add_days
Creates a copy of datetime
and adds the specified number of days to the
copy. Add negative values to subtract days.
since: 2.26
g_date_time_add_full
Creates a new GDateTime
adding the specified values to the current date and
time in datetime
. Add negative values to subtract.
since: 2.26
g_date_time_add_hours
Creates a copy of datetime
and adds the specified number of hours.
Add negative values to subtract hours.
since: 2.26
g_date_time_add_minutes
Creates a copy of datetime
adding the specified number of minutes.
Add negative values to subtract minutes.
since: 2.26
g_date_time_add_months
Creates a copy of datetime
and adds the specified number of months to the
copy. Add negative values to subtract months.
since: 2.26
g_date_time_add_seconds
Creates a copy of datetime
and adds the specified number of seconds.
Add negative values to subtract seconds.
since: 2.26
g_date_time_add_weeks
Creates a copy of datetime
and adds the specified number of weeks to the
copy. Add negative values to subtract weeks.
since: 2.26
g_date_time_add_years
Creates a copy of datetime
and adds the specified number of years to the
copy. Add negative values to subtract years.
since: 2.26
g_date_time_compare
A comparison function for GDateTimes
that is suitable
as a GCompareFunc
. Both GDateTimes
must be non-NULL
.
since: 2.26
g_date_time_difference
Calculates the difference in time between end
and begin
. The
GTimeSpan
that is returned is effectively end
- begin
(ie:
positive if the first parameter is larger).
since: 2.26
g_date_time_format_iso8601
Format datetime
in ISO 8601 format,
including the date, time and time zone, and return that as a UTF-8 encoded string.
since: 2.62
g_date_time_get_day_of_month
Retrieves the day of the month represented by datetime
in the gregorian calendar.
since: 2.26
g_date_time_get_day_of_week
Retrieves the ISO 8601 day of the week on which datetime
falls (1 is
Monday, 2 is Tuesday… 7 is Sunday).
since: 2.26
g_date_time_get_day_of_year
Retrieves the day of the year represented by datetime
in the Gregorian calendar.
since: 2.26
g_date_time_get_microsecond
Retrieves the microsecond of the date represented by datetime
.
since: 2.26
g_date_time_get_month
Retrieves the month of the year represented by datetime
in the Gregorian calendar.
since: 2.26
g_date_time_get_seconds
Retrieves the number of seconds since the start of the last minute, including the fractional part.
since: 2.26
g_date_time_get_timezone_abbreviation
Determines the time zone abbreviation to be used at the time and in
the time zone of datetime
.
since: 2.26
g_date_time_get_utc_offset
Determines the offset to UTC in effect at the time and in the time
zone of datetime
.
since: 2.26
g_date_time_get_week_numbering_year
Returns the ISO 8601 week-numbering year in which the week containing
datetime
falls.
since: 2.26
g_date_time_get_week_of_year
Returns the ISO 8601 week number for the week containing datetime
.
The ISO 8601 week number is the same for every day of the week (from
Moday through Sunday). That can produce some unusual results
(described below).
since: 2.26
g_date_time_get_year
Retrieves the year represented by datetime
in the Gregorian calendar.
since: 2.26
g_date_time_is_daylight_savings
Determines if daylight savings time is in effect at the time and in
the time zone of datetime
.
since: 2.26
g_date_time_to_local
Creates a new GDateTime
corresponding to the same instant in time as
datetime
, but in the local time zone.
since: 2.26
g_date_time_to_timeval
Stores the instant in time that datetime
represents into tv
.
deprecated: 2.62 since: 2.26
g_date_time_to_timezone
Create a new GDateTime
corresponding to the same instant in time as
datetime
, but in the time zone tz
.
since: 2.26
g_date_time_to_unix
Gives the Unix time corresponding to datetime
, rounding down to the
nearest second.
since: 2.26
g_date_time_to_unix_usec
Gives the Unix time corresponding to datetime
, in microseconds.
since: 2.80
g_date_time_to_utc
Creates a new GDateTime
corresponding to the same instant in time as
datetime
, but in UTC.
since: 2.26