我设法在PHP中动态加载和比较几个时间值。
现在我被困在这里:
$additional_time = $entry_start->diff($compare_from_timeformat);
$additional_time ->format("H:i");
$avaliabletime->modify('+1 hours');
我想用$avaliabletime
替换+1
,但如果我尝试这样的事情:
$avaliabletime->modify('+'.$additional_time.' hours');
我收到此错误:
可捕获的致命错误:无法将类 DateInterval 的对象转换为字符串
所以我现在有 2 个问题。
- 有没有办法将变量与修改部分一起使用?
- 我也可以在同一个字符串中添加分钟吗? 例如
$avaliabletime->modify('+01:45 hours');
?
$additional_time
是一个DateInterval
对象,而不是一个DateTime
对象或字符串。要按 DateInterval
表示的数量修改 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');