awtk/docs/manual/date_time_t.md

493 lines
13 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## date\_time\_t
### 概述
2019-12-14 13:25:56 +08:00
日期时间。
> 在嵌入式平台中在系统初始时需要调用date\_time\_global\_init设置实际获取/设置系统时间的函数。
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="date_time_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2020-12-08 09:04:40 +08:00
| <a href="#date_time_t_date_time_add_delta">date\_time\_add\_delta</a> | 加上一个偏移量(s)。 |
2018-12-21 12:11:40 +08:00
| <a href="#date_time_t_date_time_create">date\_time\_create</a> | 创建date_time对象并初始为当前日期和时间(一般供脚本语言中使用)。 |
| <a href="#date_time_t_date_time_destroy">date\_time\_destroy</a> | 销毁date_time对象(一般供脚本语言中使用)。 |
2023-06-29 10:44:29 +08:00
| <a href="#date_time_t_date_time_from_time">date\_time\_from\_time</a> | 从time转换而来(按GMT转换)。 |
2020-07-10 16:56:53 +08:00
| <a href="#date_time_t_date_time_get_days">date\_time\_get\_days</a> | 获取指定年份月份的天数。 |
2020-08-04 21:45:46 +08:00
| <a href="#date_time_t_date_time_get_month_name">date\_time\_get\_month\_name</a> | 获取指定月份的英文名称(简写)。 |
| <a href="#date_time_t_date_time_get_wday">date\_time\_get\_wday</a> | 获取指定日期是周几(0-6, Sunday = 0)。。 |
| <a href="#date_time_t_date_time_get_wday_name">date\_time\_get\_wday\_name</a> | 获取周几的英文名称(简写)。 |
2020-02-14 17:58:18 +08:00
| <a href="#date_time_t_date_time_global_init_ex">date\_time\_global\_init\_ex</a> | 时间日期全局初始化。 |
2018-12-21 12:11:40 +08:00
| <a href="#date_time_t_date_time_init">date\_time\_init</a> | 初始为当前日期和时间。 |
2020-07-10 16:56:53 +08:00
| <a href="#date_time_t_date_time_is_leap">date\_time\_is\_leap</a> | 是否是闰年。 |
2019-11-14 15:54:03 +08:00
| <a href="#date_time_t_date_time_set">date\_time\_set</a> | 设置当前时间。 |
2021-01-11 08:23:05 +08:00
| <a href="#date_time_t_date_time_set_day">date\_time\_set\_day</a> | 设置日。 |
| <a href="#date_time_t_date_time_set_hour">date\_time\_set\_hour</a> | 设置小时。 |
| <a href="#date_time_t_date_time_set_minute">date\_time\_set\_minute</a> | 设置分钟。 |
| <a href="#date_time_t_date_time_set_month">date\_time\_set\_month</a> | 设置月。 |
| <a href="#date_time_t_date_time_set_second">date\_time\_set\_second</a> | 设置秒。 |
| <a href="#date_time_t_date_time_set_year">date\_time\_set\_year</a> | 设置年。 |
2023-06-29 10:44:29 +08:00
| <a href="#date_time_t_date_time_to_time">date\_time\_to\_time</a> | 转换成time(按GMT转换)。 |
2018-12-20 17:33:31 +08:00
### 属性
<p id="date_time_t_properties">
2019-01-17 15:56:15 +08:00
| 属性名称 | 类型 | 说明 |
2018-12-20 17:33:31 +08:00
| -------- | ----- | ------------ |
2018-12-21 18:29:29 +08:00
| <a href="#date_time_t_day">day</a> | int32\_t | 日(1-31)。 |
| <a href="#date_time_t_hour">hour</a> | int32\_t | 时(0 - 23)。 |
| <a href="#date_time_t_minute">minute</a> | int32\_t | 分(0 - 59)。 |
| <a href="#date_time_t_month">month</a> | int32\_t | 月(1-12)。 |
| <a href="#date_time_t_second">second</a> | int32\_t | 秒(0 - 59)。 |
2019-03-14 10:52:10 +08:00
| <a href="#date_time_t_wday">wday</a> | int32\_t | 星期几(0-6, Sunday = 0)。 |
2018-12-21 18:29:29 +08:00
| <a href="#date_time_t_year">year</a> | int32\_t | 年。 |
2020-12-08 09:04:40 +08:00
#### date\_time\_add\_delta 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_add_delta">加上一个偏移量(s)。
* 函数原型:
```
ret_t date_time_add_delta (date_time_t* dt, int64_t delta);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| delta | int64\_t | 偏移量(s)。 |
2018-12-20 17:33:31 +08:00
#### date\_time\_create 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_date_time_create">创建date_time对象并初始为当前日期和时间(一般供脚本语言中使用)。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
date_time_t* date_time_create ();
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | date\_time\_t* | 返回date\_time对象。 |
2019-01-14 11:38:31 +08:00
#### date\_time\_destroy 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_date_time_destroy">销毁date_time对象(一般供脚本语言中使用)。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-01-14 11:38:31 +08:00
ret_t date_time_destroy (date_time_t* dt);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-01-14 11:38:31 +08:00
| dt | date\_time\_t* | date\_time对象。 |
2020-02-14 17:58:18 +08:00
#### date\_time\_from\_time 函数
2019-11-14 15:54:03 +08:00
-----------------------
* 函数功能:
2023-06-29 10:44:29 +08:00
> <p id="date_time_t_date_time_from_time">从time转换而来(按GMT转换)。
2020-02-14 17:58:18 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t date_time_from_time (date_time_t* dt, int64_t time);
2020-02-14 17:58:18 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
2023-06-29 10:44:29 +08:00
| time | int64\_t | 时间。 |
2020-07-10 16:56:53 +08:00
#### date\_time\_get\_days 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_get_days">获取指定年份月份的天数。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int32_t date_time_get_days (uint32_t year, uint32_t month);
2020-07-10 16:56:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回大于0表示天数否则表示失败。 |
| year | uint32\_t | 年份。 |
2023-06-29 10:44:29 +08:00
| month | uint32\_t | 月份(1-12)。 |
2020-08-04 21:45:46 +08:00
#### date\_time\_get\_month\_name 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_get_month_name">获取指定月份的英文名称(简写)。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
const char* date_time_get_month_name (uint32_t month);
2020-08-04 21:45:46 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | const char* | 返回指定月份的英文名称(简写)。 |
2023-06-29 10:44:29 +08:00
| month | uint32\_t | 月份(1-12)。 |
2020-07-10 16:56:53 +08:00
#### date\_time\_get\_wday 函数
-----------------------
* 函数功能:
2020-08-04 21:45:46 +08:00
> <p id="date_time_t_date_time_get_wday">获取指定日期是周几(0-6, Sunday = 0)。。
2020-07-10 16:56:53 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int32_t date_time_get_wday (uint32_t year, uint32_t month, uint32_t day);
2020-07-10 16:56:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回大于等于0表示周几(0-6),否则表示失败。 |
| year | uint32\_t | 年份。 |
2023-06-29 10:44:29 +08:00
| month | uint32\_t | 月份(1-12)。 |
2020-07-10 16:56:53 +08:00
| day | uint32\_t | 日(1-31)。 |
2020-08-04 21:45:46 +08:00
#### date\_time\_get\_wday\_name 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_get_wday_name">获取周几的英文名称(简写)。
* 函数原型:
```
const char* date_time_get_wday_name (uint32_t wday);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | const char* | 返回指定周几的英文名称(简写)。 |
| wday | uint32\_t | 星期几(0-6, Sunday = 0)。 |
2020-02-14 17:58:18 +08:00
#### date\_time\_global\_init\_ex 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_global_init_ex">时间日期全局初始化。
2019-12-14 13:25:56 +08:00
> 嵌入式平台需要提供并设置获取当前日期和时间的函数,否则相关的功能(如时钟控件)将无法正常工作。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t date_time_global_init_ex (const date_time_vtable_t* vt);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2023-06-29 10:44:29 +08:00
| vt | const date\_time\_vtable\_t* | 日期和时间的相关函数的实现。 |
2019-01-14 11:38:31 +08:00
#### date\_time\_init 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_date_time_init">初始为当前日期和时间。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-01-14 11:38:31 +08:00
date_time_t* date_time_init (date_time_t* dt);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-01-14 11:38:31 +08:00
| 返回值 | date\_time\_t* | 返回date\_time对象。 |
2018-12-20 17:33:31 +08:00
| dt | date\_time\_t* | date\_time对象。 |
2020-07-10 16:56:53 +08:00
#### date\_time\_is\_leap 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_is_leap">是否是闰年。
* 函数原型:
```
bool_t date_time_is_leap (uint32_t year);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示是否则表示否。 |
| year | uint32\_t | 年份。 |
2019-11-14 15:54:03 +08:00
#### date\_time\_set 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_date_time_set">设置当前时间。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-11-14 15:54:03 +08:00
ret_t date_time_set (date_time_t* dt);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-01-14 11:38:31 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| dt | date\_time\_t* | date\_time对象。 |
2021-01-11 08:23:05 +08:00
#### date\_time\_set\_day 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_day">设置日。
* 函数原型:
```
ret_t date_time_set_day (date_time_t* dt, uint32_t day);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| day | uint32\_t | 日。 |
#### date\_time\_set\_hour 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_hour">设置小时。
* 函数原型:
```
ret_t date_time_set_hour (date_time_t* dt, uint32_t hour);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| hour | uint32\_t | 小时。 |
#### date\_time\_set\_minute 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_minute">设置分钟。
* 函数原型:
```
ret_t date_time_set_minute (date_time_t* dt, uint32_t minute);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| minute | uint32\_t | 分钟。 |
#### date\_time\_set\_month 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_month">设置月。
* 函数原型:
```
ret_t date_time_set_month (date_time_t* dt, uint32_t month);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| month | uint32\_t | 月。 |
#### date\_time\_set\_second 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_second">设置秒。
* 函数原型:
```
ret_t date_time_set_second (date_time_t* dt, uint32_t second);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| second | uint32\_t | 秒。 |
#### date\_time\_set\_year 函数
-----------------------
* 函数功能:
> <p id="date_time_t_date_time_set_year">设置年。
* 函数原型:
```
ret_t date_time_set_year (date_time_t* dt, uint32_t year);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| dt | date\_time\_t* | date\_time对象。 |
| year | uint32\_t | 年。 |
#### date\_time\_to\_time 函数
-----------------------
* 函数功能:
2023-06-29 10:44:29 +08:00
> <p id="date_time_t_date_time_to_time">转换成time(按GMT转换)。
2021-01-11 08:23:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int64_t date_time_to_time (date_time_t* dt);
2021-01-11 08:23:05 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | int64\_t | 返回time。 |
2021-01-11 08:23:05 +08:00
| dt | date\_time\_t* | date\_time对象。 |
2018-12-20 17:33:31 +08:00
#### day 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_day">日(1-31)。
2019-10-16 09:02:32 +08:00
2019-03-11 17:57:27 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
| 可脚本化 | 是 |
2019-03-14 10:52:10 +08:00
#### hour 属性
2019-03-11 17:57:27 +08:00
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_hour">时(0 - 23)。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |
2019-03-14 10:52:10 +08:00
#### minute 属性
2018-12-20 17:33:31 +08:00
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_minute">分(0 - 59)。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |
2019-03-14 10:52:10 +08:00
#### month 属性
2018-12-20 17:33:31 +08:00
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_month">月(1-12)。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |
2019-03-14 10:52:10 +08:00
#### second 属性
2018-12-20 17:33:31 +08:00
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_second">秒(0 - 59)。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |
2019-03-14 10:52:10 +08:00
#### wday 属性
2018-12-20 17:33:31 +08:00
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_wday">星期几(0-6, Sunday = 0)。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |
2018-12-20 17:33:31 +08:00
#### year 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="date_time_t_year">年。
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型int32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
2019-01-14 11:38:31 +08:00
| 可脚本化 | 是 |