时间戳、GMT、UTC、ISO 的认识

目录
警告
本文最后更新于 2023-07-18,文中内容可能已过时。

时间戳

时间戳,英文名 timestamp,是编程领域非常常见的一种时间格式,没有时区概念,全球统一,从格林威治 1970-01-01 00:00:00开始逐步累加时间。

时间戳的最小单位为纳秒,比如 Go 的 time 包定义的常量:

1
2
3
4
5
6
7
8
const (
	Nanosecond  Duration = 1
	Microsecond          = 1000 * Nanosecond
	Millisecond          = 1000 * Microsecond
	Second               = 1000 * Millisecond
	Minute               = 60 * Second
	Hour                 = 60 * Minute
)

GMT

GMT 是格林威治时间,相信大家初中都学过这个地理知识~😂

格林威治皇家天文台为了海上霸权的扩张计划,在十七世纪就开始进行天体观测。为了天文观测,选择了穿过英国伦敦格林威治天文台子午仪中心的一条经线作为零度参考线,这条线,简称格林威治子午线。这种测量方法虽然不那么精准,但是在那个年代也够用了。

1884 年 10 月在美国华盛顿召开了一个国际子午线会议,该会议将格林威治子午线设定为本初子午线,并将格林威治时间作为世界时间标准。

将格林威治时间作为世界时间标准,自然意味着离“英国”越远,时间越不准确。由此也诞生了全球 24 小时自然时区的划分,所有时区都以和 GMT 之间的偏移量做为参考。

UTC

UTC 计时原理与 GMT 类似,同样有时区概念,不过 UTC 使用原子钟计时,更加精确。

ISO

ISO 是一种时间格式标准,其中最常用的是 ISO-8601 标准。

ISO 格式:YYYY-MM-DDTHH:mm:ss.msZYYYY-MM-DDTHH:mm:ss.ms时区

  • T 是划分「日期」与「时间」的分隔符
  • Z 表示 UTC+0
  • 时区,代表采用的时区,例如中国就是 YYYY-MM-DDTHH:mm:ss.ms+08:00。

参考:

  1. https://ktinglee.github.io/timezone-gmt-utc/#gmt-utc-%E8%88%87-cst-%E6%8F%9B%E7%AE%97%E9%97%9C%E4%BF%82
  2. https://zhuanlan.zhihu.com/p/135951778

转载声明:本文允许转载,原文地址:时间戳、GMT、UTC、ISO 的认识

Buy me a coffee~
室长 支付宝支付宝
室长 微信微信
0%