Разница между 2 раза PHP
Привет, я знаю, вы можете подумать, что многие из них, возможно, задавали этот вопрос, но сценарий совсем другой.
Поскольку я подсчитываю общее количество сменных часов, выполняемых трудом, ежемесячно, часы будут более 24 часов. Я добился этого с помощью DateInterval.
Теперь у меня есть 2 раза, и я хочу получить разницу тех, кто в php.
$workedHours = '78:25:10';
$miscSpentHours = '02:26:11';
$totalWorkedHours = $workedHours - $miscSpentHours; // Must Result - 75:59:59
Я использовал sub, diff, strtotime с ним, но не получаю должным образом. Я конвертирую его в соответствующие типы дат при конвертации.
Любая помощь действительно ценится. Благодарю.
3 ответа
Вы можете перевести его в секунды, затем вычесть, а затем перевести результат обратно.
Я не проверял это. но это должно поставить вас в правильном направлении
<?php
$hours = 70;//enter number of hours
$zero = new DateTime('@0');
$offset = new DateTime('@' . $hours * 3600);//convert to minutes
$diff = $zero->diff($offset);
$formattedHours = $diff->format('%a Days, %h Hours, %i Minutes');//get format in days hours and minutes
$start_date = new DateTime($formattedHours);//pass in contruct
$since_start = $start_date->diff(new DateTime('02:26:11'));//do difference
echo $since_start->days.' days total<br>';
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';
?>
- проверьте мою функцию TimeToSec() для преобразования ЧЧ: ММ: СС в секунды
- вычитать
- конвертировать секунды обратно в ЧЧ: ММ: СС (проверьте этот ответ).