Ubuntu 下 nginx-1.24.0 源码分析 ngx_tm_t 类型
src\os\unix\ngx_time.h 中
typedef struct tm ngx_tm_t;
tm
是 C 标准库中定义的一个结构体,通常用于表示日期和时间的信息。它通常定义在<time.h>
头文件中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(0 表示一月) */int tm_year; /* 年份,从 1900 年开始计算 */int tm_wday; /* 星期几,范围 0-6(0 表示星期日) */int tm_yday; /* 一年中的第几天,范围 0-365 */int tm_isdst; /* 是否为夏令时,1 表示是,0 表示否 */ };
tm
结构体用于存储日期和时间的各个组成部分,便于程序对时间进行分解和处理在 Ubuntu 的 glibc 实现中,
tm
结构体确实包含 两个 GNU 扩展成员struct tm {// 标准成员(共9个,如前所述)int tm_sec; int tm_min;// ... 其他标准字段 ...// glibc 扩展成员long tm_gmtoff; // 秒为单位的时间偏移(UTC东偏为正)const char *tm_zone; // 时区名称缩写(如"CST") };