1、localtime是 把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间;
2、gmtime函数转换后的时间没有经过时区变换,是UTC时间 ;
3、localtime比uct时间(即世界标准时间)慢8个小时;
Linux —— 时间问题(GMT,UTC,DST,CST,CET表示什么)
4、对比代码如下:
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t stTime = {0};
struct tm *stTm = NULL;
stTime = time(NULL);
//localtime()
stTm = localtime(&stTime);
printf("after localtime,time is:%4d-%02d-%02d %02d:%02d:%02d\n",
stTm->tm_year+1900, stTm->tm_mon+1, stTm->tm_mday,
stTm->tm_hour, stTm->tm_min, stTm->tm_sec);
stTm = gmtime(&stTime);
printf("after gmtime,time is:%4d-%02d-%02d %02d:%02d:%02d\n",
stTm->tm_year+1900, stTm->tm_mon+1, stTm->tm_mday,
stTm->tm_hour, stTm->tm_min, stTm->tm_sec);
return 0;
}
5、结果显示:
[root@localhost 20190528]# ./local_gm_time
after localtime,time is:2019-05-28 21:30:00
after gmtime,time is:2019-05-28 13:30:00