如何将timeType的时间添加到DateTimeType

问题描述 投票:0回答:2

我想将TimeType类型的变量添加到DateTimeType的变量

我在试用这段代码:

$newDate = $dateAppointment->add($duration);

但我得到了这个错误

警告:DateTime :: add()要求参数1为DateInterval,给定对象

数据示例:

$dateAppountment = 2019-03-21 10:15:00 
$duration : 00:15:00
php symfony
2个回答
1
投票

我想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));

小提琴:https://3v4l.org/5lFlQ


0
投票

这是一个例子:

$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,你可以做很多事情。

© www.soinside.com 2019 - 2024. All rights reserved.