php的time()函数返回的是自unix纪元以来的秒数,因此是10位整数。如果需要毫秒级时间戳(13位),需要手动将秒数乘以1000并加上当前毫秒部分。

如何获取13位毫秒时间戳
要获取13位毫秒时间戳,可以使用microtime(true)获取带微秒的时间,然后转换为毫秒。

$timestamp_ms = (int) (microtime(true) * 1000); echo $timestamp_ms;
上述代码输出一个13位的毫秒时间戳,例如1698765432123。
立即学习“PHP免费学习笔记(深入)”;
为什么不用time() * 1000
直接使用time() * 1000只能得到秒级精度的毫秒表示,缺少真实的毫秒部分,会导致精度丢失。

$wrong_ts = time() * 1000; echo $wrong_ts;
这种方式得到的结果末尾三位始终是000,无法反映真实毫秒变化。
不同系统对时间戳长度的影响
某些语言或框架默认提供13位时间戳,而PHP标准库仅提供秒级,这是由设计选择决定的,并非缺陷。



















