标签:
在项目中有时需要获取到当前的时区
Thu, 10 Sep 2015 18:37:38 +0800
+800就代表当前时区为东八区
我的思路是:选取一个时间点,该时间点为格林威治的0点,那么全球某个地点当前的小时数就是该地点的时区数。如果当前时间大于12点,证明该地点位于格林威治的西边。
#include <time.h> #include <stdio.h> #include <sys/time.h> int time_zone(){ time_t currtime = 1420070400; struct tm* ptm = localtime(&currtime); int chr = ptm->tm_hour; if(chr > 12) chr -= 24 ; return chr; } int main(int argc, char* argv[]){ printf("time zone is %d\n", time_zone()); return 0; }
在本机执行结果 :
time zone is 8
韩国机器执行结果:
time zone is 9
标签:
原文地址:http://www.cnblogs.com/binsooks/p/4798685.html