php能直接拿到毫秒时间,不需要自己算。调用 microtime(true) 即可获取包含毫秒的浮点数,将其乘以 1000 并取整就能得到毫秒级时间戳。

microtime() 返回值的结构是怎样的
microtime() 在不传参数时返回字符串 "msec sec",在传入 true 时返回浮点数。这个浮点数的整数部分是秒,小数部分是毫秒。

$result = microtime(true); echo $result; // 例如: 1678886400.123456 $ms = (int) ($result * 1000); echo $ms; // 例如: 1678886400123
如何确保毫秒精度不被截断
直接使用 (int) 转换可能会因为浮点数精度问题导致最后一位不准。使用 bcadd 或 number_format 可以更安全地处理。

$us = microtime(true); $ms = bcdiv(bcadd((string)$us, '0'), '0.001', 0); echo $ms;
基于 microtime(true) 返回的具体数值进行计算的问题
如果直接使用 microtime(true) 的结果乘以 1000,在某些极端情况下(如高精度需求),可能会因为浮点数表示误差导致毫秒值偏差。建议使用 floor(microtime(true) * 1000) 来确保一致性。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











