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() 函数暂停一秒钟,以便观察到日期的变化。

使用方法:

  1. 确保你的系统中已安装 C 语言编译器。
  2. 将代码保存为 .c 文件(例如:date.c)。
  3. 使用编译器编译代码,例如:gcc date.c -o date
  4. 运行可执行文件:./date

代码运行后,你将在终端中看到实时更新的日期信息。

注意:

  • 该代码会一直运行,直到你手动停止程序。
  • 你可以修改 sleep(1) 中的值来控制更新频率。
  • 由于系统时间的精度限制,实际的更新频率可能会有微小误差。
C语言实现实时更新日期类 - 包含年月日时分秒

原文地址: https://www.cveoy.top/t/topic/jvj6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录