DEVELOPER GUIDE

10 位和 13 位时间戳有什么区别

两者通常指向同一时刻,只是精度单位不同。

直接结论10位时间戳通常是秒,13位时间戳通常是毫秒,两者相差1000倍。13位除以1000可得到秒级值,10位乘以1000可得到毫秒级值。

位数与单位对照

常见位数常见单位典型来源
10位秒 sUnix命令、部分后端接口
13位毫秒 msJavaScript Date、前端日志

为什么转换后时间差很多

最常见原因是把毫秒当秒,或把秒当毫秒。数值相差1000倍时,日期可能跳到很远的过去或未来。先确认接口契约,不要只根据长度永久写死判断,因为负数、微秒和纳秒时间戳可能采用其他位数。

北京时间和UTC

Unix时间戳表示统一的时间点;“北京时间”或“UTC”是显示方式。北京时间通常是UTC+8,同一个时间戳在两种时区显示的日期时刻不同,但代表的瞬间相同。

后端存储推荐保留明确单位和时区语义,例如字段名使用 created_at_ms,接口文档写明UTC或本地时间。

常见问题

13位转10位要四舍五入吗?

取决于业务。只需要秒级精度时通常向下取整;涉及计费、排序或边界判断时,应按接口定义处理。