Невозможно использовать переменную в функции modify () DateTime. Я получаю сообщение об ошибке: объект класса DateInterval не может быть преобразован в строку

Мне удалось динамически загрузить и сравнить несколько значений времени в 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'); ?

0

Решение

$additional_time это DateInterval объект, а не DateTime объект или строка. Чтобы изменить ваш объект DateTime на сумму, которая DateInterval представляет собой использование 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');
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]