将分钟数添加到PHP Datetime以计算事件的开始/结束

将分钟数添加到PHP Datetime以计算事件的开始/结束,php,dateinterval,Php,Dateinterval,我想用PHP计算事件的开始和结束日期时间。我得到了这个事件的开始和结束的持续时间。因此,我尝试了以下代码: $startTime = $this->getStartTime(); $endTime = $this->getStartTime(); $endTime->add(new DateInterval('PT75M')); 在本例中,我将开始时间增加75分钟,并计算事件的结束时间。它可以工作,但也可以编辑开始时间。我在PHP文档中读到ADD方法编辑被调用的对象,但我不

我想用PHP计算事件的开始和结束日期时间。我得到了这个事件的开始和结束的持续时间。因此,我尝试了以下代码:

$startTime = $this->getStartTime();
$endTime = $this->getStartTime();

$endTime->add(new DateInterval('PT75M'));

在本例中,我将开始时间增加75分钟,并计算事件的结束时间。它可以工作,但也可以编辑开始时间。我在PHP文档中读到ADD方法编辑被调用的对象,但我不明白它如何编辑startEdit变量。我在示例中编写的任何方法中都不使用引用,在getStartTime函数中也不使用引用,您必须为此创建新的DateTime实例,否则将编辑对start date DateTime对象的原始引用。试着这样做:

$endTime = clone $startTime;
$endTime->add(new DateInterval('PT75M'));

如果可以更改
getStartTime()
方法的返回类型,我强烈建议将其从
\DateTime
更改为
\DateTimeImmutable

然后代码将如下所示:

$endTime = $startTime->add(new DateInterval('PT75M'));

此方法的更多示例和优点。

获取前75分钟数据的语法是什么?$endTime->sub()