我有一个 DateTime() 对象数组,我在其中存储了一些持续时间(例如“H:i”) 我怎样才能对这个数组中的所有元素求和以获得总持续时间?
而且还应该考虑到,如果总持续时间大于 23:59,我必须能够获得数天。
这可能吗?
我试图这样做:
$duration = new DateTime('00:00');
foreach($routes as $route) {
$arrival_time = new DateTime();
$arrival_time->setTimestamp($route->arrival_time);
$departure_time = new DateTime();
$departure_time->setTimestamp($route->departure_time);
$leg_duration = $arrival_time->diff($departure_time);
$duration->add($leg_duration);
}
但在$duration
我错了时间。
附言
使用$duration->add($leg_duration);
我从"24:00"
时间中减去,为什么?例如,如果$leg_duration = new DateTime('02:10');
结果将是"21:50"
.
$duration->sub($leg_duration);
添加时间"24:00"
这是正确的吗?