下面就是Linux区别gmtime和localtime函数的相关介绍了,从下面的代码运行结果中可以看出,gmtime和localtime的用法是有些区别的。gmtime和localtime是两种不同的函数,不少人在使用的时候容易将两者混淆,下面小编就教你Linux下如何辨别gmtime和localtime的使用,以便你下次能够正确使用。
区别:
#include 《time.h》
#include 《stdio.h》
int main(int argc, char **argv)
{
time_t tmpcal_ptr = {0};
struct tm *tmp_ptr = NULL;
tmpcal_ptr = time(NULL);
printf(“tmpcal_ptr=%dn”, tmpcal_ptr);
tmp_ptr = gmtime(&tmpcal_ptr);
printf(“after gmtime, the time is:n%d:%d:%d”, tmp_ptr-》tm_hour, tmp_ptr-》tm_min, tmp_ptr-》tm_sec);
tmp_ptr = localtime(&tmpcal_ptr);
printf(“after localtime, the time is:n%d:%d:%d”, tmp_ptr-》tm_hour, tmp_ptr-》tm_min, tmp_ptr-》tm_sec);
return 0;
}
运行结果如下:
基本的意思是,gmtime转出来的是0时区的标准时间
localtime是将时区考虑在内了,转出的当前时区的时间。但是注意,有些嵌入式设备上被裁减过的系统,时区没有被设置好,导致二者转出来的时间都是0时区的。