码迷,mamicode.com
首页 > 其他好文 > 详细

获取时区的代码

时间:2015-09-10 19:04:41      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

在项目中有时需要获取到当前的时区

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!