什么是 Unix 时间戳?

电脑如何计算时间以及它为何对开发者重要

用一个数字表示时间

Unix 时间戳是从 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)起经过的秒数。1724457600 表示距该起点 1,724,457,600 秒。

开发者为何使用时间戳

  • 没有时区歧义: 始终以 UTC 为准
  • 便于运算: 两个值相减即可得到秒数
  • 排序一致
  • 存储紧凑

秒与毫秒

传统 Unix 时间戳按秒计算,而 JavaScript 的 Date.now() 和许多 Web API 返回大 1,000 倍的毫秒。

秒:   1724457600    (10 位)
毫秒: 1724457600000 (13 位)

Votilo Tools 会根据位数自动识别。

2038 年问题

有符号 32 位整数会在 2038 年 1 月 19 日溢出。现代系统使用 64 位整数,约 2,920 亿年后才会溢出。