我对修改 php DateTime 对象的正确方法有疑问。目前,我正在做类似的事情:
$origEvent = new DateTime(...);
$newEvent = new DateTime(...);
$someOtherEvent = new DateTime(...);
//get the time difference between the orignal event and the edited event
$diff = $origEvent->diff($newEvent);
$someOtherEvent->add($diff);
无论我们是从 $someOtherEvent 中增加还是减少时间,使用 DateTime::add() 方法似乎都有效。这是正确的方法吗?我知道有用于减去时间的 DateTime::sub(),但似乎只要 DateInterval(由 $origEvent->diff() 产生)具有反转标志,DateTime::add() 就知道实际上减去时间。这个对吗?我应该使用 DateTime::modify 之类的东西吗?