Unix 时间戳与日期时间的互相转换
Unix 时间戳(Epoch Time)是从 1970-01-01 00:00:00 UTC 起经过的秒数,是计算机系统中最通用的时间表示方式。它与时区无关,便于跨系统存储和比较时间。
| 单位 | 位数 | 示例 | 场景 |
|---|---|---|---|
| 秒 | 10 位 | 1705319400 |
Unix 系统、大多数 API |
| 毫秒 | 13 位 | 1705319400000 |
JS Date.now()、Java |
| 微秒 | 16 位 | 1705319400000000 |
高精度日志 |
Unix 时间戳从 1970-01-01 00:00:00 UTC 开始计数,本身不含时区信息——时区只影响显示格式。
32 位上限:2147483647 对应 2038-01-19,32 位系统届时溢出。现代系统均使用 64 位,可存储数十亿年。
时间戳更适合存储和计算——它是一个整数,无时区歧义,排序和比较效率高。日期字符串适合展示给用户。
可能是时区问题。时间戳本身是 UTC 的,如果你在东八区(UTC+8),转换为本地时间会 +8 小时。确认工具中选择的时区是否正确。
毫秒。JavaScript 使用 13 位毫秒级时间戳,需要除以 1000 才能得到标准 Unix 秒级时间戳。