程序员经常遇到 "1712345678" 这种数字——这是 Unix 时间戳。本文介绍秒级和毫秒级时间戳的区别及转换方法。
秒级 vs 毫秒级
| 类型 | 示例 | 常见场景 |
|---|---|---|
| 秒级(10 位) | 1722345678 | Unix/Linux 系统、MySQL TIMESTAMP |
| 毫秒级(13 位) | 1722345678000 | JavaScript Date.now()、Java System.currentTimeMillis() |
各语言转换方法
// JavaScript
new Date(1722345678 * 1000).toISOString() // 秒级转日期
Math.floor(Date.now() / 1000) // 日期转秒级时间戳
// Python
import datetime, time
datetime.datetime.fromtimestamp(1722345678) # 秒级转日期
int(time.time()) # 日期转秒级时间戳
// Shell
date -d @1722345678 # 秒级转日期
date +%s # 当前秒级时间戳
技巧:如果时间戳是 13 位(毫秒),在 FreeBox 在线工具中直接输入即可自动识别。如果是 10 位(秒),工具也能正确处理。