C程序中如何定义struct tm变量,并对其日期进行赋值
时间: 2024-10-10 14:13:18 浏览: 27
在C语言中,`struct tm`是一个标准库`<time.h>`中定义的时间结构体,用于存储日期和时间的信息。它的各个成员代表了日期的不同部分,例如年、月、日、小时等。下面是如何定义和初始化`struct tm`变量以及对其中日期部分赋值的一个例子:
```c
#include <stdio.h>
#include <time.h>
int main() {
// 定义一个struct tm变量
struct tm time_info;
// 初始化所有字段为零,这是为了表示当前时间(系统默认)
localtime_s(&time_info, NULL); // 使用localtime_s函数获取本地当前时间
// 若要手动赋值,可以这样做(这里假设2024年10月1日)
time_info.tm_year = 2024 - 1900; // 由于tm_year是从1900年开始计数的
time_info.tm_mon = 9; // 月份从0开始,所以10月是9
time_info.tm_mday = 1; // 日期
time_info.tm_hour = 0; // 小时(24小时制)
time_info.tm_min = 0; // 分钟
time_info.tm_sec = 0; // 秒
// 现在,time_info包含了指定的日期信息
printf("日期: %04d-%02d-%02d\n", time_info.tm_year + 1900, time_info.tm_mon + 1, time_info.tm_mday);
return 0;
}
```
在这个例子中,我们首先定义了一个`struct tm`变量`time_info`,然后使用`localtime_s`函数将其设置为当前本地时间。如果你想赋予特定的日期,可以直接修改`time_info`的成员。
阅读全文