От микросессии до секунд или часов или мин.
У меня есть время запуска магазина как microtime() и время окончания в качестве microtime() в базе данных.
Теперь я хочу рассчитать, сколько времени script занимает секунды/минуты/часы для выполнения.
Как я могу сделать в PHP?
Ответы
Ответ 1
в основном, вот так:
echo date("H:i:s",$endtime-$starttime);
$endtime-$starttime
дает продолжительность в секундах, дата используется для форматирования вывода. звучит как сохранение и чтение из базы данных, это не ваша проблема, поэтому я оставил это в своем примере. Обратите внимание, что вам нужно будет использовать microtime(true)
чтобы получить эту работу, с microtime()
пространством microtime()
вы не можете легко выполнять вычисления.
EDIT: вы можете делать все вычисления самостоятельно. это просто базовая математика:
$duration = $endtime-$starttime;
$hours = (int)($duration/60/60);
$minutes = (int)($duration/60)-$hours*60;
$seconds = (int)$duration-$hours*60*60-$minutes*60;
Ответ 2
время отклика до секунд или часов или мин?
microtime - это имя функции php, которая возвращает меру времени в микросекундах, и в основном микросекунды могут быть преобразованы в:
1 milliseconds = 1,000 microseconds
1 second = 1,000,000 microseconds
1 minute = 60,000,000 microseconds
1 hour = 3,600,000,000 microseconds
or
1 microsecond = 0.001 milliseconds
1 microsecond = 0.000001 seconds
1 microsecond = 0.0000000166666667 minutes
1 microsecond = 0.000000000277777778 hours
Ответ 3
Если у вас есть время A
и время B
, в секундах, то количество секунд между этими двумя абсолютными временами:
B - A
Если вы хотите отформатировать это количество секунд, вы можете использовать date
для его префикса.
Ответ 4
function formatPeriod($endtime, $starttime)
{
$duration = $endtime - $starttime;
$hours = (int) ($duration / 60 / 60);
$minutes = (int) ($duration / 60) - $hours * 60;
$seconds = (int) $duration - $hours * 60 * 60 - $minutes * 60;
return ($hours == 0 ? "00":$hours) . ":" . ($minutes == 0 ? "00":($minutes < 10? "0".$minutes:$minutes)) . ":" . ($seconds == 0 ? "00":($seconds < 10? "0".$seconds:$seconds));
}
Ответ 5
.heading {
color: #666;
border-bottom: 1px dotted #ddd;
font-weight: normal;
}
.intro {
color: #666;
background: #f5f5f5;
border: 1px solid #ccc;
border-radius: 2px;
padding: 10px;
}
<h1 class="heading">Someo Coole!</h1>
<p class="intro">I am a very little boy! Thanks for letting me do some stuff here and around here!</p>
<p>Sorry for taking place for none!</p>
function formatPeriod($endtime, $starttime)
{
$duration = $endtime - $starttime;
$hours = (int) ($duration / 60 / 60);
$minutes = (int) ($duration / 60) - $hours * 60;
$seconds = (int) $duration - $hours * 60 * 60 - $minutes * 60;
return ($hours == 0 ? "00":$hours) . ":" . ($minutes == 0 ? "00":($minutes < 10? "0".$minutes:$minutes)) . ":" . ($seconds == 0 ? "00":($seconds < 10? "0".$seconds:$seconds));
}
Ответ 6
например, 218549 это длительность песни на моем db. как я могу напечатать вот так: 3:38