timestamp
Unix 时间戳转换
在 Unix 时间戳与本地时间、UTC 时间之间互转,支持秒与毫秒两种精度。
浏览器时区:—
技术说明
Unix 时间戳表示自 1970-01-01T00:00:00Z 起经过的秒数,不计闰秒。它是一个与时区无关的绝对时间点,因此适合在系统之间传递与存储。
同一时刻在不同时区对应的日历时间并不相同。展示给用户时需要先确定时区,再换算成本地时间。中国大陆长期使用 UTC+8,且不实行夏令时。
不同语言的实现存在精度差异:PHP 的 time() 返回秒,JavaScript 的 Date.now() 返回毫秒,部分系统还会使用微秒或纳秒。跨语言对接时应当明确单位。
常见问题
- Unix 时间戳是否计算闰秒?
- 不计算。该计数按每天 86400 秒均匀推进,闰秒由操作系统在必要时通过调时处理。
- 时间戳有上限吗?
- 取决于存储位数。32 位有符号整数将在 2038-01-19 溢出,64 位整数在当前实践中不存在实际限制。
- 如何区分秒级与毫秒级时间戳?
- 按数量级判断:当前时间点的秒级时间戳为 10 位,毫秒级为 13 位。也可对照已知日期反推,例如 2001-09-09 的秒级时间戳为 1000000000。