时间戳(Unix 时间戳)是从 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数,与时区无关,同一时刻在全世界的时间戳都相同。下面说明自定义设置。
时间戳自定义设置
可以自定义输出格式,例如只要日期 YYYY-MM-DD,或使用 YYYY/MM/DD HH:mm 等形式;编程中通过 strftime 的 %Y-%m-%d %H:%M:%S 控制。
示例
输入:北京时间 2008-08-08 20:00:00
转换结果:秒级 1218196800,毫秒级 1218196800000
说明:对应 UTC 时间 2008-08-08 12:00:00,北京时间比 UTC 早 8 小时。
工作原理
把日期转为时间戳:先把本地时间换算为 UTC,再计算与 1970-01-01 00:00:00 UTC 相差的秒数。把时间戳转为日期:用秒数加上纪元得到 UTC 时间,再按目标时区加上偏移。Unix 时间不计闰秒,每天固定按 86400 秒计算。
常见类型
- 秒级时间戳(10 位)
- 毫秒级时间戳(13 位)
- 微秒级时间戳(16 位)
- Windows FILETIME
- 苹果 Core Data 时间(以 2001 年为起点)
计算方法
时间戳 = (UTC 时间 − 1970-01-01 00:00:00 UTC) 的秒数。北京时间要先减 8 小时换成 UTC。例如北京时间 2026-11-11 00:00:00 即 UTC 2026-11-10 16:00:00,距纪元 20767 天又 16 小时,时间戳为 20767×86400 + 57600 = 1794326400。
本站的时间戳转换工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。
常见问题
【时间戳是 10 位还是 13 位?】10 位是秒,13 位是毫秒,转换前先确认单位。
【时间戳 0 是什么时间?】UTC 1970-01-01 00:00:00,即北京时间 1970-01-01 08:00:00。
【不同国家的时间戳一样吗?】同一时刻全世界的时间戳完全相同,差别只在显示成本地时间时。
文中示例可以在本站对应工具中核对。