我的数据库中有两次:
$time1 = "02:00:03";
$time2 = "04:00:04";
我想把它们加到$time1 + $time2
最好的方法是什么?
我对差异没有问题,因为我可以这样做:
$end = new DateTime($this->hora_final);
$start = new DateTime($this->hora_inicio);
$diff = $end->diff($start);
$diff->format('%H:%I:%S');
,它工作得很好…但我似乎找不到添加它们的方法……什么好主意吗?
对
DateTime::add()
。添加两个日期确实没有多大意义,因此不能将$time2
视为DateTime
,将其添加到time1
中。通常你会说01.04. + 2 days
,但不是01.04. + 02.00
。该方法接受DateInterval
类型的对象。要创建它,我建议使用像
list($hour, $min, $second) = explode(':', $time2);
$interval = new DateInterval("PT{$hour}H{$min}M{$second}S");
现在您应该能够将间隔添加到日期
$x = new DateTime($time1);
$y = $x->add($interval);
(未测试)