我的数据库中有两次:
$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');
它完美无缺......但我似乎无法找到添加它们的方法......任何想法?
此致
答案 0 :(得分:1)
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);
(未测试的)