Gettimeofday()总是可访问的



我试过谷歌,php.net和php邮件列表的档案,但我找不到我要找的东西。也许这是显而易见的,也许没有人想知道这个…

多年来,我一直使用microtime()来获取当前时间,包括时间微秒。然而,有人指给我看手册上的一句话页面:"此功能仅在支持gettimeofday()系统调用。"

和PHP的gettimeofday()建议相同的情况:"这是一个获取timeofday(2)接口。"

但是…那么什么样的系统没有这个系统调用呢?我在谷歌上搜索了一下,发现很多C程序员都在尝试gettimeofday()在Windows上的C实现,因为它似乎没有包括它。但是PHP的microtime()和gettimeofday()似乎可以正常工作在Windows上运行良好(至少在我能接触到的盒子上)。而且,我就是做不到似乎找到PHP代码的任何地方在网络上,似乎检查在调用microtime()或gettimeofday()之前是否存在;肯定有很多PHP程序员在做

我是否应该忽略手册中的句子,而只是相信两者函数总是可用的?或者是否存在另一种跨平台方法获取系统时间,包括微秒,而不使用Microtime()还是gettimeofday()?还是这两个函数总是存在,但是如果没有gettimeofday()系统,就不要给我微秒可以电话吗?

编辑1:

http://www.php.net/microtime

"Returns the current Unix timestamp with microseconds.
This function is only available on operating systems that 
support the gettimeofday() system call."

也许这在某种程度上澄清了我的观点

根据源码,PHP有自己的Windows gettimeofday实现。但是没有gettimeofday的其他端口可用。所以除了UNIX系统和Windows之外,其他任何操作系统都不能使用microtime()

我在windows和linux上都进行过广泛的开发,并且在这两个平台上都有运行的PHP应用程序。我从来没有意识到这个问题,这对我来说从来都不是问题。

如果你能到达,我会把它看作是跨越的桥梁。大量的时间和精力可以用来寻找一个对我来说似乎不是问题的解决方案。我建议您忽略手册中的句子,直到它真正成为您的问题,而不是浪费资源,因为它可能发生的可能性很小。

既然你已经让我意识到这个问题,我将按照我自己的建议,忘记它。

相关内容

  • 没有找到相关文章

最新更新