2016-10-22 2 views
0

я пытаюсь вычитании двух переменных в PHP (формат времени, "H: I: S"), i.ex:PHP время вычитания из 2-х переменных

$entryscan = '07:15:00'; 
$exitscan = '16:35:00'; 

Как получить продолжительность работы? Я имею в виду $workduration = $exitscan - $entryscan; так, ответ $workduration = '09:20:00';

+1

Возможный дубликат [Вычесть время в PHP] (http://stackoverflow.com/questions/5463549/subtract-time-in -php) –

+3

Возможный дубликат [Вычитание двух дат в php] (http://stackoverflow.com/questions/10469037/subtracting-two-dates-in-php) –

+1

Возможный дубликат [Получить общую разницу во времени между двумя датами, используя php] (http://stackoverflow.com/questions/10696654/get-total-time-difference-between-two-dates-using-php) – Dave

ответ

1

Использование PHP timediff функция.

$datetime1 = new DateTime($entryscan); 
$datetime2 = new DateTime($exitscan); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%H hours'); 

% H даст вам разницу в часов.

% I даст вам разницу в минутам.

% S даст вам разницу в секунд.

+0

хорошо работает @Arshid – Yoel

0
$entryscan = '07:15:00'; 
$exitscan = '16:35:00'; 
$time1 = new DateTime($entryscan); 
$time2 = new DateTime($exitscan); 
$diffis = $time1->diff($time2); 
echo $workduration = $diffis->format('%H:%I:%S'); 

@ Аршид, я просто редактирую ваш код, работает нормально.

+0

спасибо за объяснение @naveen – Yoel

1

Попробуйте использовать PHP DateTime класса, если ваш PHP версии> = 5,2

$entryscan = '07:15:00'; 
$exitscan = '16:35:00'; 

$entryTime = new DateTime($entryscan); 
$exitTime = new DateTime($exitscan); 
$interval = $entryTime->diff($exitTime); 
$workduration = $interval->format('%H:%I:%S'); 
Смежные вопросы