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