C 语言时间输出:获取和显示日期和时间210


C 语言提供了多种函数,可以用于获取和显示系统日期和时间。这些函数位于 <time.h> 头文件中。

获取当前时间

获取当前时间的函数是 time()。它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数。结果存储在一个称为 time_t 的变量中。以下示例演示如何使用 time() 函数:```c
#include
#include
int main() {
time_t now;
time(&now);
printf("当前时间为 %ld 秒", now);
return 0;
}
```

输出类似于:```
当前时间为 1654041600 秒
```

将 time_t 转换为可读日期和时间

time_t 值本身很难理解。为了获得更可读的形式,我们可以使用 localtime() 函数将 time_t 转换为 tm 结构。tm 结构包含有关日期和时间的各种信息,例如年份、月份、日期、小时、分钟和秒。以下示例演示如何使用 localtime() 函数:```c
#include
#include
int main() {
time_t now;
struct tm *local;
time(&now);
local = localtime(&now);
printf("当前日期和时间:%d-%d-%d %d:%d:%d", local->tm_year + 1900, local->tm_mon + 1, local->tm_mday, local->tm_hour, local->tm_min, local->tm_sec);
return 0;
}
```

输出类似于:```
当前日期和时间:2023-3-14 16:33:20
```

其他时间函数

除了 time() 和 localtime() 之外,<time.h> 头文件还提供了其他用于处理时间的函数。其中一些函数包括:* ctime():将 time_t 值转换为 ASCII 字符串。
* gmtime():将 time_t 值转换为格林尼治标准时间 (GMT) 的 tm 结构。
* mktime():将 tm 结构转换为 time_t 值。
* strftime():将 tm 结构格式化为字符串。

格式化时间输出

使用 strftime() 函数,我们可以根据特定的格式要求格式化时间输出。格式化说明符是一个以百分号 (%) 开头的字符,它指定要包含在输出中的特定时间元素。以下是一些常用的格式化说明符:* %Y:年(四位数字)
* %m:月(两位数字)
* %d:日(两位数字)
* %H:小时(24 小时制,两位数字)
* %M:分钟(两位数字)
* %S:秒(两位数字)

以下示例演示如何使用 strftime() 格式化时间输出:```c
#include
#include
int main() {
time_t now;
char buffer[80];
time(&now);
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", localtime(&now));
printf("格式化后的时间:%s", buffer);
return 0;
}
```

输出类似于:```
格式化后的时间:2023-03-14 16:33:20
```

C 语言提供了广泛的函数来获取、转换和格式化日期和时间。这些函数使我们能够轻松地编写应用程序,以显示和处理各种时间相关信息。

2024-11-06


上一篇:C 语言输出流

下一篇:C 语言子集输出:精简而强大的选择