什么是 Unix 时间戳?
Unix 时间戳(Unix Timestamp)是从 1970 年 1 月 1 日 00:00:00 UTC(即 Unix 纪元)开始所经过的秒数,不包括闰秒。它被广泛用于编程和数据库中来记录时间。
2026年1月1日 00:00:00 UTC = 1767225600
2038年1月19日 03:14:07 UTC = 2147483647(32位系统上限)
为什么开发者需要时间戳?
1. 跨时区一致性
时间戳是 UTC 时间,不受时区影响。无论用户在北京还是纽约,同一个时间戳代表完全相同的时刻。
2. 便于计算
比较两个时间戳只需要做减法,计算时间差非常方便。
3. 数据库索引优化
整数类型的时间戳比字符串类型的日期时间更容易建索引,查询效率更高。
4. API 数据传输
JSON 中传输时间戳比传输格式化日期字符串更节省带宽。
常见时间戳格式
各编程语言中的时间戳操作
JavaScript
// 获取当前时间戳(毫秒)
Date.now()
// 时间戳转日期
new Date(1767225600000)
// 日期转时间戳
new Date('2026-01-01').getTime()
Python
import time
# 获取当前时间戳
time.time()
# 时间戳转日期
import datetime
datetime.datetime.fromtimestamp(1767225600)
PHP
// 获取当前时间戳
time();
// 时间戳转日期
date('Y-m-d H:i:s', 1767225600);
// 日期转时间戳
strtotime('2026-01-01');
在线时间戳转换工具
我们的工具支持:
- 秒级和毫秒级时间戳的自动识别
- 实时转换,输入即出结果
- 同时显示多种格式的日期时间
- 支持自定义时区显示
注意事项
- 2038 年问题:32 位系统的时间戳将在 2038 年溢出,应使用 64 位整数
- 毫秒混淆:注意区分秒级和毫秒级时间戳,13 位通常是毫秒
- 时区处理:时间戳转日期时需明确目标时区
时间戳虽然简单,但用对了能极大简化时间处理的复杂度。