2011-07-13 22 views
3

如果我做的:在不同的操作系统下,PHP的微秒精度是多少?

echo microtime(true); 

我得到如下结果:

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

好吧,那么根据平台的运行情况,你会得到不同的精度?或者这是一个PHP/OS配置?

同样来自microtime PHP文档:

此功能仅在支持 的gettimeofday()系统调用操作系统提供。

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

回答

1

如果传递真实microtime中()作为其唯一的参数,PHP将返回 更明显格式的时间 - seconds.microseconds,就像这样: 1174676587.5996

使用microtime中()请记住,返回值是一个 浮点数。在您的php.ini文件中有一个名为 “precision”的设置,它设置要在 浮点数中显示的有效数字的数量 - 注意是有效数字,而不是小数点 位置,这意味着您从microtime返回的值()可能不会像您想要的那样精确地为 。在上面,例如,您可以看到我们只返回了四个 小数位数 - 这是因为php.ini默认精度为 到14,并且在小数点前有十位数字。

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

来自tuxradar.com