GMT UTC 时区等概念

时间:2024-01-29 16:32:19

时间戳

定义:格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,表示为:1970-01-01 00:00:00 UTC。
它称为Unix时间(Unix time)、POSIX时间(POSIX time)。
从定义可以看到,全球相同时刻,不管你是什么时区,时间戳是一致的时间戳是不会跟着时区的改变而改变。用时间戳来表示时间全球都是一致的
相同时间戳,在不同时区,时间是不同的:如 1520411719 时间戳,对应北京时间是:2018-03-07 16:35:19 GMT+8,对应此时的美国华盛顿时间是:2018-03-07 03:35:19 GMT-5,这也是我们常说的时间。
 

格林威治时间(GMT)

是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,因为本初子午线被定义为通过那里的经线。

 

协调世界时(UTC)

协调世界时(英语:Coordinated Universal Time简称UTC)是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间

协调世界时是世界上调节时钟时间的主要时间标准,它与0度经线的平太阳时相差不超过1秒[4],并不遵守夏令时。

协调世界时是最接近格林威治标准时间(GMT)的几个替代时间系统之一。

对于大多数用途来说,UTC时间被认为能与GMT时间互换

比如,现在有一条日志,其中的时间戳 为 1570987357 (该时间戳是我从 https://tool.lu/timestamp/ 获取的),

那么这个时间戳对应的 GMT 时间为 : 2019-10-13 17:22:00 【可通过如下SQL来实现】

select from_unixtime(1570987357,\'yyyy-MM-dd HH:mm:SS\');
-- 2019-10-13 17:22:00

但是我本地的时间(北京时间)为 2019-10-13 01:22:00,

这也验证了 hive 函数  from_unixtime 得到的是 GMT时间,再通过GMT + 时区 分方式得到该时间戳的对应的本地时间