Как вывести в датах "сегодня" и "вчера"?

147
14 марта 2022, 18:50

Есть вывод новостей списком, вида:

  • Новость 1 / Сегодня, 06:34
  • Новость 2 / Сегодня, 23:21
  • Новость 3 / Сегодня, 21:56

Как мне сделать так, чтобы вместо "сегодня" во 2 и 3 новости писалось "Вчера"? Сейчас вывод выглядит так:

echo $r['title'];
echo ' / Сегодня, ';
echo date('H:i', $r['date']);

Дата в формате 1580067424

Answer 1

Необходимо сравнивать с сегодняшней датой Ваши даты.
Пример:

date_default_timezone_set('Europe/Moscow');
$today = date('d');// Получаем сегодняшний день
$r = array('title' => "Новость 1", "date" => "1580067324");
echo $r['title'];
if (date('d', $r['date']) < $today){ //Сравниваем день даты и сегодняшний день, если меньше, то Выводим "Вчера"
    echo ' / вчера, ';
} else {
    echo ' / Сегодня, ';
}
echo date('H:i', $r['date']);
READ ALSO
php parser, что моло пойти не так?

php parser, что моло пойти не так?

Попросили спарсить цены на 1 продукт в разных магазинах

215
PHP не возвращает заголовки

PHP не возвращает заголовки

Нашел код в интернете как послать заголовки и тогда продолжить выполнение скрипта

132
Ошибка верификации сертификата

Ошибка верификации сертификата

При запросе к некоторым сайтем через fopen() или через curl возникают ошибки типа

169