c语言程序按“年/月/日”格式输出系统日期,按“时:分:秒”格式输出系统时间。并讲解程序中的每一步
时间: 2023-09-05 17:07:07 浏览: 185
输出系统的日期与时间
下面是一个C语言程序,可以按照“年/月/日”格式输出系统日期,同时也可以按照“时:分:秒”格式输出系统时间。
```c
#include <stdio.h>
#include <time.h>
int main()
{
time_t now;
struct tm *tm_now;
// 获取当前时间
time(&now);
tm_now = localtime(&now);
// 输出日期
printf("%d/%d/%d\n", tm_now->tm_year + 1900, tm_now->tm_mon + 1, tm_now->tm_mday);
// 输出时间
printf("%d:%d:%d\n", tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec);
return 0;
}
```
首先,我们需要引入两个头文件:`stdio.h`和`time.h`。`stdio.h`包含了输入输出函数,而`time.h`中包含了操作时间的函数和结构体。
接着,我们定义了一个`time_t`类型的变量`now`,这个变量用于保存当前时间的时间戳。然后,我们定义了一个指向`tm`结构体的指针`tm_now`,这个结构体包含了年、月、日、时、分、秒等时间信息。
接下来,我们调用`time()`函数获取当前时间的时间戳,并将其保存到变量`now`中。接着,我们调用`localtime()`函数,将时间戳转换成本地时间,并将其保存到指针变量`tm_now`中。
最后,我们分别使用`printf()`函数输出日期和时间。在输出日期时,我们使用了`tm_now->tm_year + 1900`、`tm_now->tm_mon + 1`、`tm_now->tm_mday`这三个变量,来分别输出年、月、日。需要注意的是,`tm_now->tm_year`返回的是自1970年以来的年数,因此需要加上1900才是当前的实际年份;`tm_now->tm_mon`返回的是0到11的月份数,因此需要加上1才是当前的实际月份。
在输出时间时,我们使用了`tm_now->tm_hour`、`tm_now->tm_min`、`tm_now->tm_sec`这三个变量,来分别输出时、分、秒。
阅读全文