关于时间的那点儿事儿 -- 时间戳,时区,冬令时,夏令时

UTC、GMT、PST,冬令时、夏令时 看起来是不是很懵,看完本文后相信关于时间你会有一个清醒的认知。

时间按照不同的角度可以划分为:

  1. 时间戳
  2. 时区
  3. 冬令时,夏令时

 

一、时间戳

时间戳:距离一个历史上一个标准参照时间经过的秒数(毫秒数)。

有两种常用时间参照点:

  • 1970-01-01 00:00:00 应用最广泛的时间戳参照点。
  • 2001-01-01 00:00:00 常被苹果系统使用。

注意:以上时间节点皆采用UTC的标准时区。

时间戳描述了距离某一时刻经过的时间跨度,是一个绝对值,和时区,冬(夏)令时这些没有关系。所以在地球上的同一时间点,对于同一参照点,获取到的时间戳都是完全一致的。

 

二、时区

1884年在华盛顿召开的国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。

如下图所示:

android冬令时下令时 冬令时是标准时间吗_javascript

 

全球同一时刻不同时区的本地时间不同例如中国时间:10:00 AM

对于美国西部时间:18:00 PM(冬令时)

 17:00 PM(夏令时)

1. GMT VS UTC

GMT Greenwich Mean Time,中文为格林威治标准时间。

UTC Universal Time Coordinated, 中文为协调世界时。

GMT和UTC都是代表0零时区的时间,两者相等。UTC是1972年之后引入的概念,是GMT的后继,现广泛应用于科技领域。

2. PST

全球分为24个时区之后,从UTC/GMT 开始往西依次表示为UTC/GMT - 1,-2……,往东表示为UGC/GMT+1,+2……。

除了UTC/GMT之外,还有一个很常见的时区:PST。

PST 全称 Pacific Standard Time,太平洋标准时间,等同于UTC/GMT -8,既西八区,被北美国家使用。

 

三、冬令时、夏令时

地球自转方向从西向东,所以东边更早看到新一天的太阳。各地区在时区概念的基础上,时间更接近于太阳时(最简单的理解就是太阳直射时,当地时间基本接近12点)。

昼夜长短会随着四季变换,出于减少能源消耗的目的,提出了冬令时、夏令时的概念。

在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。

冬令时通常代表使用当地的标准时间,夏令时实施期间时钟拨快一小时,相当于时区往前(东)进一个。

每年会对时间进行两次调整,如下图所示:

android冬令时下令时 冬令时是标准时间吗_数据库_02

四、总结

  1. 时间戳代表了距离某一标准参考时刻经过的(毫)秒数。所以可以唯一标识时间轴上的一点。
  2. 时区是为了人们生活的便利性,用于标识本地时间。
  3. 冬令时,夏令时出于节省能源消耗的目的提出的概念,可能会让每年的某一段时间内本地时间会前进一个小时。

在软件开发中,传递时间的时候为了无歧义,应该全部采用时间戳。在需要展示给用户的时候,需要考虑到用户本地的时区及冬令时、夏令时的情况计算出正确的本地时间。