Операторы сравнения даты и времени> = не показывают даты, которые равны - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь показать события, которые происходят либо сегодня, либо в более позднюю дату, где сегодня именно эта проблема.не события, которые происходят сегодня, но потом, когда я попробую это:

if (strtotime($dateFrom) <= time()) {
            $ids[] = $row->getId();
}

Показаны сегодняшние и более старые события.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Я думаю, вам нужно добавить метку времени к вашей дате.

Strtotime добавит полдень, если время не указано.
См. Этот пример https://3v4l.org/cYKO4

if (strtotime($dateFrom ) >= strtotime(date("Y-m-d 00:00"))) {

Будет отображать все даты с

Редактироватьдобавил 00:00 на неправильной стороне

0 голосов
/ 15 мая 2018

Используйте класс DateTime http://php.net/manual/en/class.datetime.php

time() дает секунды с 1 января 1970 года. Вероятность того, что вы нажмете точную секунду, очень мала, поэтому она вряд ли когда-либо совпадет.

Вместо этого создайте дату со временем.

$date = new DateTime($dateFrom); // or DateTime::createFromFormat($format, $dateFrom);
$today = new DateTime();

if ($date >= $today) {
   // should work
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...