gpt4 book ai didi

php - 如何将 php microtime 显示为 min : sec?

转载 作者:可可西里 更新时间:2023-10-31 22:52:15 25 4
gpt4 key购买 nike

我使用以下方法以秒为单位显示代码执行时间:

$time_start = microtime(true);
// code here
$time_end = microtime(true);
$time = ($time_end - $time_start);
$time = number_format((float)$time, 3, '.', '');
echo "Process Time: {$time} sec";

例如:

9.809 sec

我想将执行显示为:min : sec ,如果 min <1 则以 sec 为单位,如果 min >1 则以 min 为单位。我没有问题做单位工作但是,microtime 以毫秒为单位给出时间我怎样才能得到以前的输出:

00:09 sec or 03:50 min

解决方案:要么:

date('i:s', (int) $time);

或:

$minutes = floor($time / 60);
$seconds = $time % 60;

$minutes = str_pad($minutes, 2, '0', STR_PAD_LEFT);
$seconds = str_pad($seconds, 2, '0', STR_PAD_LEFT);

echo "Process Time: $minutes:$seconds";

谢谢大家

最佳答案

你应该使用一些辅助函数:

<?php
$times = array(9.123, 230.455, 3601.123);

foreach($times as $time) {
echo $time . " => " . formatMicrotime($time) . "\n";
}

function formatMicrotime($time) {
return date('i:s', (int) $time);
}

输出是:

9.123 => 00:09
230.455 => 03:50
3601.123 => 00:01

如您所见,如果时间跨度大于 1 小时,您会遇到麻烦,但如果您正在测量脚本的执行时间,这可能不是问题 ;-)

关于php - 如何将 php microtime 显示为 min : sec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36882025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com