如何转换 Unix 时间戳
- 时间戳 → 日期:粘贴一个时间戳。工具会根据位数自动识别秒、毫秒、微秒和纳秒,并以你所在的时区、UTC 和 ISO 8601 格式显示日期。
- 日期 → 时间戳:选择日期和时间,选择它是本地时间还是 UTC,然后复制以秒或毫秒为单位的时间戳。
什么是 Unix 时间?
Unix 时间(也称为纪元时间或 POSIX 时间)计算的是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数,不计闰秒。它是一个在地球上任何地方都相同的数字,因此数据库、服务器、编程语言和 API 都用它来存储时间点,避免时区带来的混乱。
在代码中获取当前时间戳
- JavaScript:
Math.floor(Date.now() / 1000) - Python:
int(time.time()) - PHP:
time() - Java:
Instant.now().getEpochSecond() - Linux / macOS 命令行:
date +%s - SQL(PostgreSQL):
EXTRACT(EPOCH FROM now())
常见问题
什么是 2038 年问题?
用有符号 32 位整数存储 Unix 时间的系统,最多只能计到 2,147,483,647,也就是 UTC 时间 2038 年 1 月 19 日 03:14:07。此后这个数字就会溢出。现代系统使用 64 位时间戳,足以使用数十亿年。
为什么我的时间戳有 13 位?
因为它以毫秒为单位,JavaScript 和 Java 默认使用毫秒。除以 1000 即可得到秒。