C语言实现实时更新日期类 - 包含年月日时分秒
C语言实现实时更新日期类
本示例代码使用 C 语言创建了一个日期类,包含年月日时分秒,并利用 time.h 库中的函数实时更新日期信息,并将结果打印在终端。
#include <stdio.h>
#include <time.h>
typedef struct {
int year;
int month;
int day;
int hour;
int minute;
int second;
} Date;
void print_date(Date d);
int main() {
Date current_date;
time_t t = time(NULL);
struct tm tm = *localtime(&t);
current_date.year = tm.tm_year + 1900;
current_date.month = tm.tm_mon + 1;
current_date.day = tm.tm_mday;
current_date.hour = tm.tm_hour;
current_date.minute = tm.tm_min;
current_date.second = tm.tm_sec;
while (1) {
t = time(NULL);
tm = *localtime(&t);
current_date.year = tm.tm_year + 1900;
current_date.month = tm.tm_mon + 1;
current_date.day = tm.tm_mday;
current_date.hour = tm.tm_hour;
current_date.minute = tm.tm_min;
current_date.second = tm.tm_sec;
print_date(current_date);
printf("\n");
sleep(1); // 暂停 1 秒钟
}
return 0;
}
void print_date(Date d) {
printf("%04d-%02d-%02d %02d:%02d:%02d", d.year, d.month, d.day, d.hour, d.minute, d.second);
}
代码中使用了 time.h 库中的 time() 和 localtime() 函数来获取当前时间,并将其转换为年月日时分秒的形式。然后使用一个无限循环来实时更新日期,并使用 print_date() 函数将日期打印在终端上。在每次循环结束时,使用 sleep() 函数暂停一秒钟,以便观察到日期的变化。
使用方法:
- 确保你的系统中已安装 C 语言编译器。
- 将代码保存为
.c文件(例如:date.c)。 - 使用编译器编译代码,例如:
gcc date.c -o date。 - 运行可执行文件:
./date。
代码运行后,你将在终端中看到实时更新的日期信息。
注意:
- 该代码会一直运行,直到你手动停止程序。
- 你可以修改
sleep(1)中的值来控制更新频率。 - 由于系统时间的精度限制,实际的更新频率可能会有微小误差。
原文地址: https://www.cveoy.top/t/topic/jvj6 著作权归作者所有。请勿转载和采集!