结构

GLibDateTime

自:2.26

描述 [源]

struct GDateTime {
  /* No available fields */
}

GDateTime 是一个结构,它将一个公历日期和时间合并到一个单一的结构中。

GDateTime 提供了许多转换和方法来处理日期和时间。时间精度可达微秒级别,时间范围(前溯)从 0001-01-01 00:00:00 到 9999-12-31 23:59:59.999999。GDateTime 遵循 POSIX 时间,因为它忽略闰秒。

GDateTime 是一个不可变对象;创建之后便无法再对其修改。所有修改器都会创建一个新的 GDateTime。此类函数几乎都会因为日期或时间超范围而失败,在此情况下,将返回 NULL

GDateTime 为引用计数:通过调用 g_date_time_ref() 增加引用计数,通过调用 g_date_time_unref() 减少引用计数。当引用计数降至 0 时,将释放由 GDateTime 结构分配的资源。

API 的许多部分可能会产生非明显的结果。例如,向 1 月 31 日添加两个月将生成 3 月 31 日,而添加一个月再添加一个月将生成 3 月 28 日或 3 月 29 日。还需要注意的是,添加 24 小时并不总是与添加一天相同(因为包含夏令时转换的日期长度为 23 小时或 25 小时)。

自 2.26 起可用

构造函数

g_date_time_new

根据时区 tz 中的给定日期和时间创建一个新的 GDateTime

自:2.26

g_date_time_new_from_iso8601

根据给定的 ISO 8601 格式化的字符串 text 创建一个 GDateTime。支持格式为 <date><sep><time><tz>ISO 8601 字符串,其中包含如下所示 RFC 3339 中提到的某些扩展。

自 2.56 起

g_date_time_new_from_timeval_local

根据本地时区中的给定 GTimeVal tv 创建一个 GDateTime

弃用: 2.62 自 2.26 起

g_date_time_new_from_timeval_utc

根据 UTC 中的给定 GTimeVal tv 创建一个 GDateTime

弃用: 2.62 自 2.26 起

g_date_time_new_from_unix_local

根据本地时区中的给定 Unix 时间 t 创建一个 GDateTime

自:2.26

g_date_time_new_from_unix_local_usec

根据本地时区中的给定 Unix 时间 t 创建一个 GDateTime

自 2.80 起

g_date_time_new_from_unix_utc

根据 UTC 中的给定 Unix 时间 t 创建一个 GDateTime

自:2.26

g_date_time_new_from_unix_utc_usec

根据 UTC 中的给定 Unix 时间 t 创建一个 GDateTime

自 2.80 起

g_date_time_new_local

根据本地时区中的给定日期和时间创建一个新的 GDateTime

自:2.26

g_date_time_new_now

根据给定时区 tz 中的当前时刻创建一个 GDateTime。时间尽可能准确,最高精度为 1 微秒。

自:2.26

g_date_time_new_now_local

根据本地时区中的当前时刻创建一个 GDateTime

自:2.26

g_date_time_new_now_utc

根据 UTC 中的当前时刻创建一个 GDateTime

自:2.26

g_date_time_new_utc

根据 UTC 中的给定日期和时间创建一个新的 GDateTime

自:2.26

实例方法

g_date_time_add

创建 datetime 的一份副本并在副本中添加指定的时间跨度。

自:2.26

g_date_time_add_days

创建 datetime 的一份副本并在副本中添加指定的天数。添加负值以减去天数。

自:2.26

g_date_time_add_full

创建一个新的 GDateTime,将指定的值添加到 datetime 中的当前日期和时间。添加负值以减去。

自:2.26

g_date_time_add_hours

创建 datetime 的一份副本并在其中添加指定的小时数。添加负值以减去小时。

自:2.26

g_date_time_add_minutes

创建 datetime 的一份副本并在其中添加指定的分钟数。添加负值以减去分钟。

自:2.26

g_date_time_add_months

创建 datetime 的一份副本并在副本中添加指定月份数。添加负值以减去月份。

自:2.26

g_date_time_add_seconds

创建 datetime 的一份副本并在其中添加指定的秒数。添加负值以减去秒数。

自:2.26

g_date_time_add_weeks

创建一个 `datetime` 副本,并向副本中添加指定数量的星期。添加负值可以减去星期。

自:2.26

g_date_time_add_years

创建一个 `datetime` 副本,并向副本中添加指定数量的年。添加负值可以减去年。

自:2.26

g_date_time_compare

一个专用于 `GDateTimes` 的比较函数,适用于 `GCompareFunc`。两个 `GDateTimes` 都必须为非 Null。

自:2.26

g_date_time_difference

计算 `end` 与 `begin` 之间的时差。返回的 `GTimeSpan` 实际上是 `end` - `begin`(例如:如果第一个参数较大,则为正)。

自:2.26

g_date_time_equal

检查 `dt1` 是否等于 `dt2`。

自:2.26

g_date_time_format

创建一个新分配的字符串,表示请求的 `format`。

自:2.26

g_date_time_format_iso8601

ISO 8601 格式 格式化 `datetime`,包括日期、时间和时区,并将其作为 UTF-8 编码字符串返回。

since: 2.62

g_date_time_get_day_of_month

在格里高利历中,检索 `datetime` 表示的月份中的天数。

自:2.26

g_date_time_get_day_of_week

检索 `datetime` 为 ISO 8601 星期中的哪一天(1 为星期一,2 为星期二,依此类推,7 为星期日)。

自:2.26

g_date_time_get_day_of_year

在格里高利历中,检索 `datetime` 表示的年度中的天数。

自:2.26

g_date_time_get_hour

检索 `datetime` 表示的天中的小时数。

自:2.26

g_date_time_get_microsecond

检索 `datetime` 表示的日期中的微秒数。

自:2.26

g_date_time_get_minute

检索 `datetime` 表示的小时中的分钟数。

自:2.26

g_date_time_get_month

在格里高利历中,检索 `datetime` 表示的年度中的月份数。

自:2.26

g_date_time_get_second

检索 `datetime` 表示的分钟中的秒数。

自:2.26

g_date_time_get_seconds

检索自上一分钟开始经过的秒数,包括小数部分。

自:2.26

g_date_time_get_timezone

获取此 `datetime` 的时区。

since: 2.58

g_date_time_get_timezone_abbreviation

确定在时间以及 `datetime` 的时区上使用的时区缩写。

自:2.26

g_date_time_get_utc_offset

在时间以及 `datetime` 的时区上生效的相对于 UTC 的偏移量。

自:2.26

g_date_time_get_week_numbering_year

返回包含 `datetime` 的星期的 ISO 8601 周历年。

自:2.26

g_date_time_get_week_of_year

返回包含 `datetime` 的星期的 ISO 8601 周数。ISO 8601 周数对每一天(从星期一到星期日)来说都是相同的。这可能会产生一些不寻常的结果(如下所述)。

自:2.26

g_date_time_get_year

在格里高利历中,检索 `datetime` 表示的年度。

自:2.26

g_date_time_get_ymd

检索给定 `GDateTime` 的格里高利日、月和年。

自:2.26

g_date_time_hash

将 `datetime` 哈希为一个 #guint,适用于在 `GHashTable` 中使用。

自:2.26

g_date_time_is_daylight_savings

确定在时间以及 `datetime` 的时区上是否生效夏令时。

自:2.26

g_date_time_ref

datetime的引用计数原子增加一。

自:2.26

g_date_time_to_local

创建新的GDateTime,其对应时间与datetime相同,但在本地时区。

自:2.26

g_date_time_to_timeval

datetime表示的时间存储到tv中。

弃用: 2.62 自 2.26 起

g_date_time_to_timezone

创建新的GDateTime,其对应时间与datetime相同,但在时区tz中。

自:2.26

g_date_time_to_unix

返回对应datetime的UNIX时间,四舍五入到最近的秒。

自:2.26

g_date_time_to_unix_usec

返回对应datetime的UNIX时间(微秒)。

自 2.80 起

g_date_time_to_utc

创建新的GDateTime,其对应时间与datetime相同,但在UTC中。

自:2.26

g_date_time_unref

datetime的引用计数原子减少一。

自:2.26