函数
GLibDateTimenew_from_iso8601
自:2.56
声明 [源]
GDateTime*
g_date_time_new_from_iso8601 (
const gchar* text,
GTimeZone* default_tz
)
描述 [源]
创建一个与给定的 ISO 8601 格式的字符串 text
对应的 GDateTime
。支持以下格式的 ISO 8601 字符串:<date><sep><time><tz>
,以及下面提到的从 RFC 3339 补充的一些扩展。
注意,由于 GDateTime
对“闰秒”不敏感”,ISO-8601 字符串中的闰秒信息将被忽略,因此一个 23:59:60
的时间将被解析为 23:59:59
。
<sep>
是分隔符,可以是 ‘T’、‘t’ 或空格。后两个分隔符是来自 RFC 3339 的扩展。
<date>
的形式如下
YYYY-MM-DD
- 年/月/日,例如:2016-08-24。YYYYMMDD
- 与上述相同,不带分隔符。YYYY-DDD
- 辨序日,其中 DDD 为从 001 到 366,例如:2016-237。YYYYDDD
- 与上述相同,不带分隔符。YYYY-Www-D
- 周日,其中 ww 为从 01 到 52,D 为 1-7,例如:2016-W34-3。YYYYWwwD
- 与上述相同,不带分隔符。
<time>
的形式如下
hh:mm:ss(.sss)
- 小时、分钟、秒(亚秒),例如:22:10:42.123。hhmmss(.sss)
- 与上述相同,不带分隔符。
<tz>
是可选的时间区后缀,形式如下
Z
- UTC。+hh:mm
或-hh:mm
- 从 UTC 的时和分钟偏移,例如:+12:00。+hh
或-hh
- 从 UTC 的时针偏移,例如:+12。
如果 text
中没有提供时间区,它必须在 default_tz
中提供(否则该字段将被忽略)。
如果 text
不是一个有效的 ISO 8601 格式字符串,此调用可能会失败(返回 NULL
)。
当您完成操作时,应该通过调用 g_date_time_unref()
释放返回值。
自从:2.56
参数
text
-
类型:
const gchar*
一个 ISO 8601 格式的时钟字符串。
数据由函数的调用者保留。 值是一个以 NUL 结尾的 UTF-8 字符串。 default_tz
-
类型:
GTimeZone
如果文本中不包含时区,则使用此
GTimeZone
,或不为NULL
。该参数可以是 NULL
。数据由函数的调用者保留。
返回值
类型: GDateTime
一个新的 GDateTime
,或 NULL
。
函数的调用者拥有数据,并负责释放它。 |
返回值可以是 NULL 。 |