1

我设法在 PHP 中动态加载和比较几个时间值。

现在我被困在这里:

$additional_time = $entry_start->diff($compare_from_timeformat);
$additional_time ->format("H:i");
$avaliabletime->modify('+1 hours');

我想替换为+1$avaliabletime但如果我尝试这样的事情:

$avaliabletime->modify('+'.$additional_time.' hours');

我收到此错误:

可捕获的致命错误:无法将类 DateInterval 的对象转换为字符串

所以我现在有2个问题。

  1. 有没有办法在修改部分使用变量?
  2. 我还可以在同一字符串中添加分钟吗?例如$avaliabletime->modify('+01:45 hours');
4

1 回答 1

4

$additional_time是一个DateInterval对象,而不是一个DateTime对象或字符串。DateInterval通过代表 use的数量修改您的 DateTime 对象DateTime::add()

$additional_time = $entry_start->diff($compare_from_timeformat);
$avaliabletime->add($additional_time);

如果你想增加额外的时间,那么你可以使用DateTime::modify()

$additional_time = $entry_start->diff($compare_from_timeformat);
$avaliabletime->add($additional_time);
$avaliabletime->modify('+45 minutes');
于 2015-04-16T15:41:04.487 回答