📅  最后修改于: 2023-12-03 15:29:41.467000             🧑  作者: Mango
gmtime()函数是C/C++标准库time.h头文件中的函数,用于将日历时间(time_t类型)转换为对应的格林威治标准时间(GMT)。
struct tm *gmtime(const time_t *timep);
上面的函数原型中,timep是一个指向时间类型time_t的指针,而返回值是一个指向结构体tm的指针。
tm结构体用于存储时间和日期的信息,包括时、分、秒、日、月、年以及星期等等。结构如下:
struct tm {
int tm_sec; /* 秒 (0-60) */
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,星期日为 0) */
int tm_yday; /* 这一年的第几天 (0-365,从一月一日算起) */
int tm_isdst; /* 夏令时标识符 */
};
下面是一个简单的使用示例,输出当前时间:
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(0); // 获取当前时间
struct tm *gmt = gmtime(&now); // 将时间转换为GMT时间
printf("Current GMT time: %d-%02d-%02d %02d:%02d:%02d\n",
gmt->tm_year+1900, gmt->tm_mon+1, gmt->tm_mday,
gmt->tm_hour, gmt->tm_min, gmt->tm_sec);
return 0;
}
输出结果:
Current GMT time: 2022-05-06 09:45:12
gmtime()函数主要用于将日历时间(time_t类型)转换为对应的格林威治标准时间(GMT),可以使用结构体tm来存储时间和日期的信息。使用时需要注意非空判断、年份加上1900、月份加上1的问题。