От микросессии до секунд или часов или мин.

У меня есть время запуска магазина как 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