3

如果我做:

echo microtime(true);

我得到以下结果:

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

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

同样来自microtime PHP 文档:

此函数仅在支持 gettimeofday() 系统调用的操作系统上可用。

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

4

1 回答 1

1

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

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

如果将精度值增加到 18,然后再次运行 microtime(),您将获得更准确的结果:1174677004.8997819。

通过tuxradar.com

于 2011-07-13T14:22:19.270 回答