Я получаю данные из базы данных. Теперь у меня есть дата, которая ниже
`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
но как отображать сегодня и вчера, используя дату?






Вам нужно сделать сравнение if else, если дата равна сегодняшней дате, тогда назначьте переменную $day = 'Today', иначе, если вычесть один день, должно быть вчера Этот код должен работать
if ($day==date('l')){
$day = 'Today';
}else if (date('l', now() - (24 * 60 * 60))){
$day = 'Yesterday';
}
Ваш код также будет отображать «Сегодня» для того же дня на другой неделе.
Преобразуйте время сегодня и вчера в строки даты в том же формате, который вы используете. Затем сравните с ними и замените нужными словами.
$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";
}
Дай мне время проверить
Он хочет заменить полную дату этими строками, но сохранить день недели.