Как правильно вывести дату и время как это делают в соц-сетях RedBean PHP
вывожу данные через R::findAl. В данном случае вывожу дату, но не знаю как написать условия что бы к примеру если сегодня 24.06.2022 то показывало вместо этой даты, слово - Сегодня в ... Как это реализовать? Вот сам код:
$posts_all = R::findAll('posts', 'ORDER BY -id');
foreach ($posts_all as $posts){
echo '<span class="post-date">'.date('d.m.Y'.' в '.'H:i',strtotime($posts->post_time)).'</span>';
}
А хочу примерно так: (Но так нельзя)))
$posts_all = R::findAll('posts', 'ORDER BY -id');
foreach ($posts_all as $posts){
echo '<span class="post-date">'.
$date = date("Y.m.d H:i:s")
if ($date == date('d.m.Y')){
'Cегодня в ' .date('H:i');
}
else if ($date == date('d.m.Y', strtotime('-1 day'))){
'Вчера в ' .date('H:i');
}';
}
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
Можно так:
foreach ($posts_all as $posts){
echo '<span class="post-date">';
if (date("Y.m.d") == date('Y.m.d', strtotime($posts->post_time))){
'Cегодня в ' .date('H:i', strtotime($posts->post_time));
}
elseif (date("Y.m.d", strtotime('-1 day')) == date('Y.m.d', strtotime($posts->post_time))){
'Вчера в ' .date('H:i', strtotime($posts->post_time));
}
}
Если у вас $posts->post_time в формате Y-m-d H:i:s то можно так
if (date("Y-m-d") == substr($posts->post_time, 0, 8))
Но часто, как на stackoverflow, смотрят разницу в секундах между сейчас и временем поста
time() - strtotime($posts->post_time)
и пишут в секундах до 60 секунд, в минутах до часа....