PHP时间算术

时间:2011-07-07 10:50:00

标签: php datetime

我的数据库中有两次:

$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');

它完美无缺......但我似乎无法找到添加它们的方法......任何想法?

此致

1 个答案:

答案 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);

(未测试的)