时间戳是接口和日志里常见的时间表示方式。最常见的是 10 位和 13 位两种:10 位通常表示秒,13 位通常表示毫秒。单位选错后,转换出来的日期会明显不对。
10 位时间戳是什么
10 位时间戳通常是秒级 Unix 时间戳,表示从 1970-01-01 00:00:00 UTC 到目标时间经过了多少秒。很多后端接口、数据库字段和日志系统会使用秒级时间戳。
1721548800
13 位时间戳是什么
13 位时间戳通常是毫秒级 Unix 时间戳,表示经过了多少毫秒。JavaScript 的 Date.now() 返回的就是毫秒级时间戳。
1721548800000
怎么快速判断单位
先看长度,10 位大概率是秒,13 位大概率是毫秒。如果长度不固定,再看接口文档或字段命名。
created_at、timestamp这类字段可能是秒,也可能是毫秒。created_at_ms、timeMillis这类字段通常表示毫秒。- 转换后如果日期跑到 1970 年附近,可能把秒当成毫秒了。
- 转换后如果日期过大,可能把毫秒当成秒了。
秒和毫秒怎么换算
秒转毫秒乘以 1000,毫秒转秒除以 1000。处理接口数据时,先统一单位再做比较、排序或存储。
秒级:1721548800
毫秒级:1721548800 * 1000 = 1721548800000
用工具转换更稳妥
如果只是临时排查接口或日志,可以使用 时间戳转换工具,在秒和毫秒之间切换,快速确认对应日期是否符合预期。