int 怎么转date。time
时间: 2024-05-16 21:17:12 浏览: 44
JAVA的Date类与Calendar类
5星 · 资源好评率100%
在 C 语言中,可以使用结构体 `struct tm` 来表示日期和时间,其中包括年、月、日、时、分、秒等信息。要将一个 `int` 转换成 `struct tm`,可以使用标准库函数 `localtime()` 或 `gmtime()`,具体方式如下:
```c
#include <stdio.h>
#include <time.h>
int main() {
int timestamp = 1632038400; // 假设时间戳为 2021-09-19 00:00:00
struct tm *timeinfo = localtime(×tamp); // 转换为本地时间
// struct tm *timeinfo = gmtime(×tamp); // 转换为 GMT 时间
printf("%d-%02d-%02d %02d:%02d:%02d\n",
timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday,
timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
return 0;
}
```
在上面的代码中,`timestamp` 表示一个时间戳,它是从 1970 年 1 月 1 日 00:00:00 UTC 开始经过的秒数。`localtime()` 和 `gmtime()` 函数都接受一个 `time_t` 类型的参数,表示从 1970 年 1 月 1 日 00:00:00 UTC 开始经过的秒数。它们返回一个指向 `struct tm` 结构体的指针,该结构体包含了转换后的日期和时间信息。
`localtime()` 函数将时间转换为本地时间,而 `gmtime()` 函数将时间转换为 GMT 时间。在上面的代码中,我们使用了 `localtime()` 函数将时间戳转换为本地时间。然后,我们可以使用结构体中的成员变量来获取年、月、日、时、分、秒等信息,并将它们打印出来。注意,这里的年需要加上 1900,月需要加上 1,因为这些成员变量的值是从 0 开始计数的。
阅读全文