Необходимо сравнить текущие время с заданным, если текущие время больше заданного хотя бы больше на 30 минут, то вывести фразу. У меня выводит такую ошибку Call to a member function format() on boolean. Подскажите, где я не прав
$datetime1 = new DateTime();
$datetime2 = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()); // выводит дату в формате сайта 08.09.2017 10:17:57
$interval = $datetime1->diff($datetime2);
$m = $interval->format('%i');
$h = $interval->format('%h');
if($m > 30 || $h > 1){
echo "time";
}
Замени
$datetime2 = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time());
на
$datetime2 = new DateTime($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time());
Проблема скорее всего в том, что $datetime2 передается как строка, а надо тоже как DateTime
$datetime2 = new DateTime(date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()));
^^^^^^^^^^^^^
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости