我需要一些帮助,我以前已经用PHP计算了每周时间表的时间,而不是我的问题;可以将所有这些加在一起吗?
我尝试使用以下功能,但不确定此功能是否有效。目的是每周计算这种格式总共花费了多少时间。
$time = "18 hours 13 minutes";
$time2 = "47 minutes";
$time3 = "1 hour";
$time4 = "1 hour";
$time5 = "1 hour";
$time6 = "";
$time7 = "";
$max_date=abs(strtotime($time) + strtotime($time2) + strtotime($time3) + strtotime($time4) + strtotime($time5) + strtotime($time6) + strtotime($time7));
因此,总共应该显示22个小时。
那有可能吗?
答案 0 :(得分:2)
您可以使用DateTime
对象来做到这一点。我们使用当前时间创建两个相同的对象,然后使用modify
方法将每个时间变量添加到其中一个。然后,我们可以获取两个对象之间的差异(创建一个DateInterval
对象),并在与输入相同的format中输出该值:
$start = new DateTime();
$end = clone($start);
if (!empty($time)) $end->modify("+$time");
if (!empty($time2)) $end->modify("+$time2");
if (!empty($time3)) $end->modify("+$time3");
if (!empty($time4)) $end->modify("+$time4");
if (!empty($time5)) $end->modify("+$time5");
if (!empty($time6)) $end->modify("+$time6");
if (!empty($time7)) $end->modify("+$time7");
$total = $end->diff($start);
echo $total->format('%h hours %i minutes');
输出:
22 hours 0 minutes