我正在测量一些 curl 请求,并使用了microtime(true)。示例输出为3.1745569706
这是3.1745569706秒。我想将其转换为更具可读性的格式,比方说00:00:03:17455(HOURS:MINUTES:SECONDS:MILLISECONDS)

$maxWaitTime = '3.1745569706';
echo gmdate("H:i:s.u", $maxWaitTime);

// which returns
00:00:01.000000

echo date("H:i:s.u" , $maxWaitTime)
// which returns
18:00:01.000000

看起来错了。我不太确定我在这里缺少什么。

如何将microtime()转换为HH:MM:SS:UU?

最佳答案

从类似于date()PHP.net article on gmdate() 中,除了时间以格林尼治标准时间返回:



使用类似这样的东西:

list($usec, $sec) = explode(' ', microtime()); //split the microtime on space
                                               //with two tokens $usec and $sec

$usec = str_replace("0.", ".", $usec);     //remove the leading '0.' from usec

print date('H:i:s', $sec) . $usec;       //appends the decimal portion of seconds

哪个打印:00:00:03.1745569706
如果需要,可以使用round()进一步舍入$usec var。

如果您使用microtime(true),请改用以下代码:
list($sec, $usec) = explode('.', microtime(true)); //split the microtime on .

关于php - 如何将microtime()转换为HH :MM:SS:UU,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16825240/

10-12 22:38