我正在测量一些 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/