Как отображать сегодня и вчера, используя дату?

Я получаю данные из базы данных. Теперь у меня есть дата, которая ниже

`2019-03-10 04:50:26`
`2019-03-09 01:30:55`
`2019-03-08 16:22:45`

Что я делаю, так это то, что если дата сегодняшняя, то «Today», если дата вчерашняя, то отображать «Yesterday», иначе отображать фактическую дату.

Мой ожидаемый результат

Today | Sunday

Yesterday | Saturday

8th March 2019 | Friday

Я пробовал код ниже.

$nofiDate=date('jS F Y', strtotime($result->created_added)); // getting `8th March 2019`
$day = date('l', strtotime($result->created_added)); // getting days name "Friday"

используя приведенный выше код, я получаю вывод: 8th March 2019 | Friday

но как отображать сегодня и вчера, используя дату?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
123
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно сделать сравнение if else, если дата равна сегодняшней дате, тогда назначьте переменную $day = 'Today', иначе, если вычесть один день, должно быть вчера Этот код должен работать

    if ($day==date('l')){
       $day = 'Today';
    }else if (date('l',  now() - (24 * 60 * 60))){
       $day = 'Yesterday';
    }

Он хочет заменить полную дату этими строками, но сохранить день недели.

Barmar 10.03.2019 07:41

Ваш код также будет отображать «Сегодня» для того же дня на другой неделе.

Barmar 10.03.2019 07:42
Ответ принят как подходящий

Преобразуйте время сегодня и вчера в строки даты в том же формате, который вы используете. Затем сравните с ними и замените нужными словами.

$today = date("jS F Y");
$yesterday = date("jS F Y", time() - 86400); // 86400 seconds in a day

Затем вы можете сравнить $nofiDate с ними и вместо этого показать нужные строки:

if ($nofiDate == $today) {
    $nofiDate = "Today";
} elseif ($nofiDate == $yesterday) {
    $nofiDate = "Yesterday";
}

Дай мне время проверить

questionbank 10.03.2019 07:43

Другие вопросы по теме