不同操作系统下PHP的微秒级精度是多少?

时间:2011-07-13 13:54:31

标签: php operating-system precision microtime

如果我这样做:

echo microtime(true);

我得到以下结果:

  • 在我的本地Windows开发环境中,我获得了4位数的精度(例如1310564569.4162)。
  • 在我的CentOS(Linux)服务器上,我获得了2位数的精度(例如1310564569.41)。

好的,根据您运行的平台,您会得到不同的精度吗?或者这是PHP / OS配置?

同样来自microtime PHP文档:

  

此功能仅适用于支持该功能的操作系统   gettimeofday()系统调用。

哪些操作系统(或条件/配置)不支持此功能?

1 个答案:

答案 0 :(得分:1)

  

如果将true传递给microtime()作为其唯一参数,PHP将返回   时间格式更明显 - seconds.microseconds,如下所示:   1174676587.5996

     

使用microtime()时,请记住返回值是a   浮点数。 php.ini文件中有一个名为的设置   “precision”,用于设置要显示的有效位数   浮点数 - 请注意,这是有效数字,而不是小数   places,表示您从microtime()返回的值可能不是   你想要的精确。例如,上面你可以看到我们只有四个   返回小数位 - 这是因为php.ini默认精度   到14,小数点前有十位数。

     

如果将精度值增加到18,则运行   microtime()再次,你会得到更准确的结果:   1174677004.8997819。

tuxradar.com