gettimeofday()总是可以访问?

时间:2011-08-11 12:40:42

标签: php gettimeofday microtime

我已经尝试过谷歌,php.net和php邮件列表的档案,但我找不到 我正在寻找什么。也许这很明显,或者也许没有人想知道 此...

多年来,我一直使用microtime()来获取当前时间,包括 微秒。但是,有人在手册中用一句话指了我 page:“此功能仅适用于支持的操作系统 gettimeofday()系统调用。“

PHP的gettimeofday()表明了同样的情况:“这是一个 gettimeofday(2)的接口。“

但是......什么样的系统没有这个系统调用? 一些谷歌搜索提供了许多C程序员试图得到一个 gettimeofday()在Windows上的C实现,因为它似乎没有 包括它。但PHP的microtime()和gettimeofday()似乎只是工作 在Windows上很好(至少我可以获得的方框)。而且,我只是不能 似乎在网络上的任何地方找到似乎检查的PHP代码 在他们调用之前存在microtime()或gettimeofday(), 并且必须有很多PHP程序员在那里工作 Windows盒子......

我应该忽略手册中的句子,只要相信两者 功能总是可用的?还是有另一种跨平台的方式 在不使用的情况下获取系统时间,包括微秒 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."

也许这有点澄清了我的观点。

2 个答案:

答案 0 :(得分:1)

根据sources,PHP有自己的gettimeofday Windows实现。但是没有其他gettimeofday端口可用。因此,除了基于UNIX的系统和Windows之外,任何其他操作系统都无法使用microtime()

答案 1 :(得分:0)

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

我认为这是一个跨越如果你能够实现它的桥梁。很多时间和精力都可以用来为我看来是一个非问题的解决方案。我建议您忽略手册中的句子,直到这实际上成为您的问题,而不是浪费资源以防止它发生。

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