关于时间:UTC时间、GMT时间、本地时间、Unix时间戳

1.UTC时间 与 GMT时间

我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的。

2.UTC时间 与 本地时

UTC + 时区差 = 本地时间

时区差东为正,西为负。在此,把东八区时区差记为 +0800,

UTC + (+0800) = 本地(北京)时间 (1)

那么,UTC = 本地时间(北京时间))- 0800 (2)

3.UTC 与 Unix时间戳

在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。 这个秒数就是Unix时间戳。

4.怎样判断程序获取到的是UTC时间还是本地时间
让程序先获取一次时间戳,然后改变系统的时区设置,然后重新运行程序,在获取一次时间戳,比较两个时间戳的差如果很小(应该小于半小时,即180秒) ,则说明获取的是UTC时间,因为这个时间是与你的系统时区设置无关的。
以C语言为例:
#include
#include
#include
void main(void)
{
time_t start;
time( &start );
printf(“%d\n”,start);
while(1);
}

发表评论

邮箱地址不会被公开。 必填项已用*标注