Не получается вывести дату из Базы Данных в формате "Вчера, Сегодня" через PHP
не могу вывести дату в формате "Вчера/Сегодня" из БАЗЫ ДАННЫХ Обратите внимание на слово "Базы данных" Сам код:
function new_time($a) { // преобразовываем время в нормальный вид
date_default_timezone_set('Europe/Moscow');
$ndate = date('d.m.Y', $a);
$ndate_time = date('H:i', $a);
$ndate_exp = explode('.', $ndate);
$nmonth = array(
1 => 'янв',
2 => 'фев',
3 => 'мар',
4 => 'апр',
5 => 'мая',
6 => 'июн',
7 => 'июл',
8 => 'авг',
9 => 'сен',
10 => 'окт',
11 => 'ноя',
12 => 'дек'
);
foreach ($nmonth as $key => $value) {
if($key == intval($ndate_exp[1])) $nmonth_name = $value;
}
if($ndate == date('d.m.Y')) return 'сегодня в '.$ndate_time;
elseif($ndate == date('d.m.Y', strtotime('-1 day'))) return 'вчера в '.$ndate_time;
else return $ndate_exp[0].' '.$nmonth_name.' '.$ndate_exp[2].' в '.$ndate_time;}
Нужно вывести сюда, в строку, вернее в
<span class="film__leftbar_date" itemprop="uploadDate" content="2021-06-09"><?php echo new_time($single["date"]); ?></span>
Вот что показывается на сайте, в базе данных совсем другая дата, а именно 27.06.2021 в формате просто DATE
ОБНОВЛЕНО:
В базе данных просто дата когда я создал строку, вот... Мне как раз таки нужно вывести эту дату когда создал строку в базе данных в формате "Вчера/Сегодня".
Ответы (1 шт):
Автор решения: Oliver Patterson
→ Ссылка
echo(format_date("2021-06-27")); // сегодня
echo(format_date("2021-06-26")); // вчера
echo(format_date("2021-06-25")); // 25 июн 2021
function format_date($date)
{
date_default_timezone_set('Europe/Moscow');
static $monthsNames =
[
'',
'янв',
'фев',
'мар',
'апр',
'мая',
'июн',
'июл',
'авг',
'сен',
'окт',
'ноя',
'дек'
];
$today = date("Y-m-d");
$todaySeconds = strtotime($today);
$dateSeconds = strtotime($date);
$dateDiff = $todaySeconds - $dateSeconds;
if ($dateDiff < 86400)
{
return 'сегодня';
}
else if ($dateDiff < 172800)
{
return 'вчера';
}
else
{
$month = $monthsNames[date("n", $dateSeconds)];
$day = date("d", $dateSeconds);
$year = date("Y", $dateSeconds);
return "$day $month $year";
}
}