Сравнение дат. PHP

211
12 октября 2017, 12:39

Не правильно работает условие, при котором сравниваются две даты: текущая и дата уже заданная. При выполнении этого условия $date1 > $date2 должно отсылаться сообщение на почту, сейчас оно приходит в любом случае.

<?
  $date1 = new DateTime("now");
  $date2 = new DateTime($arProps['PRIK']['VALUE']);
  if ($date1 > $date2)  {
     $to = $arProps['EMAIL']['VALUE']; 
     $subject = 'ТЕСТ';
     $message = '<html><head><title>1</title></head><body><p>TEST</p></body>
     </html>';
     mail($to, $subject, $message);
     }
     var_dump($date1 == $date2); // принимает значение FALSE
     var_dump($date1 < $date2); // принимает значение FALSE
     var_dump($date1 > $date2); // принимает значение TRUE
Answer 1

Вам нужно добавить формат, чтобы сравнение отработало. Для сравнения дат можно использовать ->format('Y-m-d'). Это решит проблему.

$date1 = new DateTime();
$date2 = '12.10.2017';
$your_date = new DateTime($arProps['PRIK']['VALUE']);
if($date1->format('Y-m-d') > $date2->format('Y-m-d')) {
    // тут Ваш код
}
READ ALSO
extractTo - кириллические файлы

extractTo - кириллические файлы

ЗдравствуйтеАрхив не хочет распаковывать кириллические файлы

223
method_exist для трейтов

method_exist для трейтов

В Yii2 есть понятие behaviors, подключение к модели которого добавляет к классу функции, описанные в этом behavior

175
Изменение текстового поля на форме из потока (2 окна) QML QT C++

Изменение текстового поля на форме из потока (2 окна) QML QT C++

Пытаюсь изменить значение текстового поля из другого потока, но почему-то не работает: Есть 2 окна, первое окно:

376
Hash Table Неправильный вывод через find

Hash Table Неправильный вывод через find

Где ошибкаХочу узнать какие парные числа, какие нет

234