C中的struct tm类型他的成员赋值顺序是什么?年月日时分秒还是时分秒年月日?
在C中,struct tm 类型用于表示日历时间。它包含如下成员:
struct tm {
int tm_sec; /* 秒,范围从 0 到 59 */
int tm_min; /* 分钟,范围从 0 到 59 */
int tm_hour; /* 小时,范围从 0 到 23 */
int tm_mday; /* 一个月中的第几天,范围从 1 到 31 */
int tm_mon; /* 月份,范围从 0 到 11 */
int tm_year; /* 自 1900 年起的年数 */
int tm_wday; /* 一周中的第几天,范围从 0 到 6 */
int tm_yday; /* 一年中的第几天,范围从 0 到 365 */
int tm_isdst; /* 夏令时,>0 表示夏令时,=0 表示非夏令时,<0 表示未知 */
};
顺序是:秒、分钟、小时、一个月中的第几天、月份、自1900年起的年数、一周中的第几天、一年中的第几天和夏令时。
例如,要表示2022年1月2日12时34分56秒,你可以这样赋值:
struct tm time_structure;
time_structure.tm_sec = 56;
time_structure.tm_min = 34;
time_structure.tm_hour = 12;
time_structure.tm_mday = 2;
time_structure.tm_mon = 0; // 0 表示 1 月,1 表示 2 月,依此类推
time_structure.tm_year = 122; // 122 表示从 1900 年开始的 2022 年