您好我知道您可能认为他们中的许多人可能已经提出了这个问题,但情况却截然不同。
由于我每月计算一次劳动总换班时间,因此小时数将超过24小时。我通过DateInterval实现了这一点。
现在我有2次想要在php中获得差异。
$workedHours = '78:25:10';
$miscSpentHours = '02:26:11';
$totalWorkedHours = $workedHours - $miscSpentHours; // Must Result - 75:59:59
我已经使用了sub,diff,strtotime但没有正常使用。我在转换时将其转换为适当的日期类型。
任何帮助真的很感激。感谢。
答案 0 :(得分:2)
您可以将其转换为秒,然后进行减法,然后将结果传回。
答案 1 :(得分:0)
我没有测试过这个。但这应该会让你朝着正确的方向前进
<?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>';
?>
答案 2 :(得分:0)