gettimeofday()总是可以访问?

lug*_*098 6 php gettimeofday microtime

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

多年来,我一直使用microtime()来获取当前时间,包括微秒.但是,有人在手册页中的一句话中指出:"此功能仅在支持gettimeofday()系统调用的操作系统上可用."

PHP的gettimeofday()表明了同样的情况:"这是gettimeofday(2)的接口."

但是......那么什么样的系统没有这个系统调用?一些谷歌搜索提供了许多C程序员试图在Windows上的C中获得gettimeofday()实现,因为它似乎不包括它.但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."
Run Code Online (Sandbox Code Playgroud)

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

use*_*ged 1

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