PHP时间算术



我的数据库中有两次:

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

(未测试)

相关内容

  • 没有找到相关文章

最新更新