Сравнить текущие время с заданным

214
10 сентября 2017, 02:31

Необходимо сравнить текущие время с заданным, если текущие время больше заданного хотя бы больше на 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";
}
Answer 1

Замени

$datetime2 = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time());

на

$datetime2 = new DateTime($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time());
Answer 2

Проблема скорее всего в том, что $datetime2 передается как строка, а надо тоже как DateTime

$datetime2 = new DateTime(date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time())); 
             ^^^^^^^^^^^^^
READ ALSO
Сессия на поддоменах

Сессия на поддоменах

Есть 2 проекта расположеных на одном домене, но на разных поддоменахНапример foo

233
Как с for выставить 4 div блока

Как с for выставить 4 div блока

Всем привет, я извиняюсь за то что плохо написал названия вопроса, особо не пинайте, если не так написал, подскажите как правильно в таких...

291