用C语言写一个函数,将从1970年1月1日0时整到此时此刻所持续的秒数,转换成对应的年-月-日-时- 分-秒
时间: 2024-01-10 20:05:12 浏览: 100
当然可以!以下是一个用C语言编写的函数,可以将从1970年1月1日0时整到当前时间的持续秒数转换成年-月-日-时-分-秒的格式:
```c
#include <stdio.h>
#include <time.h>
void convertSecondsToDateTime(long seconds) {
time_t rawTime = (time_t)seconds;
struct tm *timeInfo;
char buffer[80];
timeInfo = localtime(&rawTime);
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeInfo);
printf("当前时间:%s\n", buffer);
}
int main() {
time_t now;
time(&now);
convertSecondsToDateTime(now);
return 0;
}
```
这个程序中,我们使用了 `<time.h>` 头文件中的 `time_t` 和 `struct tm` 结构体来处理时间的转换。`localtime()` 函数将一个 `time_t` 类型的时间转换为本地时间,并存储在 `struct tm` 结构体中。然后,我们使用 `strftime()` 函数将 `struct tm` 结构体中的时间格式化成我们想要的字符串格式。
在 `main()` 函数中,我们使用 `time()` 函数获取当前的时间戳,并将其传递给 `convertSecondsToDateTime()` 函数进行转换和打印。
运行这个程序,将会输出类似于以下格式的当前时间:
```
当前时间:2022-02-25 10:30:00
```
请注意,这里假设系统的时间和时区设置是正确的。如果你需要在其他平台或环境中运行,请根据需要进行相应的适配。
阅读全文