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

У меня есть время запуска магазина как microtime () и время окончания, как microtime () в базе данных.

Теперь я хочу рассчитать, как долго сценарий занимает секунды / минуты / часы для выполнения.

Как я могу сделать в PHP?

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

в основном, вот так:

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; 

от микротрейта до секунд или часов или мин?

microtime – это имя функции php, которая возвращает меру времени в микросекундах, и в основном микросекунды могут быть преобразованы в:


     1 миллисекунда = 1000 мкс
     1 секунда = 1 000 000 микросекунд
     1 минута = 60 000 000 микросекунд
     1 час = 3,600,000,000 микросекунд


     или


     1 микросекунда = 0,001 миллисекунды
     1 микросекунда = 0,000001 секунд
     1 микросекунда = 0,0000000166666667 минут
     1 микросекунд = 0,000000000277777778 часов

Если у вас есть время A и время B , в секундах, то количество секунд между этими двумя абсолютными временами:

 B - A 

Если вы хотите отформатировать это количество секунд, вы можете использовать date чтобы отменить ее.

  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)); } 
 .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)); }