使用微秒

时间:2016-01-11 09:11:46

标签: php time

我正在使用PHP上的微秒,如果差异非常小,我得到错误答案。

为什么以及如何解决这个问题?

示例:

$t1 = '1452502847.8248';
$t2 = '1452502847.8247';
$min = (float)($t1 - $t2);
var_dump($min); //9.9897384643555E-5

$t1 = '1452502847.8248';
$t2 = '1452502847.8246';
$min = (float)($t1 - $t2);
var_dump($min); //0.00020003318786621

1 个答案:

答案 0 :(得分:1)

与许多其他人一样,PHP在精确数学方面会给你带来惊喜。请查看this article以获取有关该问题的更多信息。

因此,您得到的结果是正确的,但为了使它们更有用,您必须将结果四舍五入到您想要的精度(在这种情况下为4位小数)。试试这个:

$min = round($t1-$t2,4);