我想将TimeType类型的变量添加到DateTimeType的变量
我在试用这段代码:
$newDate = $dateAppointment->add($duration);
但我得到了这个错误
警告:DateTime :: add()要求参数1为DateInterval,给定对象
数据示例:
$dateAppountment = 2019-03-21 10:15:00
$duration : 00:15:00
我想symfony中已经存在某种变换器,但我找不到它。所以,这是一个自定义代码如何将时间从DateTime
转换为DateInterval
并将其添加到另一个\DateTime
:
$dateAppointment = (new \DateTime());
$dtDuration = (new \DateTime())->setTime(1, 15, 0);
$duration = $duration->format('\P\TH\Hi\Ms\S');
$newDate = $dateAppointment->add(new \DateInterval($duration));
这是一个例子:
$duration = '1970-01-01 01:00:00.000000';
$timeObject = DateTime::createFromFormat('Y-m-d H:i:s.u', $duration, new DateTimeZone('UTC'));
$date = '2019-03-21 10:15:00';
$dateObject = DateTime::createFromFormat('Y-m-d H:i:s', $date);
$modify = '+' . $timeObject->format('U') . ' second';
echo $dateObject->modify($modify)->format('Y-m-d H:i:s');
只需从持续时间对象中获取秒数,然后将它们添加到日期对象中。如果你使用modify
,你可以做很多事情。