На просторах интернета есть функция:
<?php
function gws_daterus($date) {
// -- определяем массив для месяцев --
$mounth = array(
"01" => "января",
"02" => "февраля",
"03" => "марта",
"04" => "апреля",
"05" => "мая",
"06" => "июня",
"07" => "июля",
"08" => "августа",
"09" => "сентября",
"10" => "октября",
"11" => "ноября",
"12" => "декабря");
// -- определяем массив для дней недели --
$week = array(
'воскресенье',
'понедельник',
'вторник',
'среда',
'четверг',
'пятница',
'суббота');
$date_m = strtr(date('m', $date), $mounth);
$date_w = $week [date('w', $date)];
$date_d = date('d', $date);
$date_y = date('Y', $date);
return $date_d . " " . $date_m . " " . $date_y;
}
В таблице MySQL есть поле типа Date. При попытке вывести отформатированную дату при помощи функции gws_daterus() выводится "01 января 1970". Почему?
echo gws_daterus('2019-02-02');
Не забываем преобразовывать нашу строку $date в метку времени unix, используя strtotime()
function gws_daterus($date) {
// -- определяем массив для месяцев --
$mounth = array("01" => "января", "02" => "февраля", "03" => "марта",
"04" => "апреля", "05" => "мая", "06" => "июня",
"07" => "июля", "08" => "августа", "09" => "сентября",
"10" => "октября", "11" => "ноября", "12" => "декабря");
// -- определяем массив для дней недели --
$week = array('воскресенье', 'понедельник', 'вторник', 'среда',
'четверг', 'пятница', 'суббота');
$date_m = strtr(date('m', strtotime($date)), $mounth);
$date_w = $week [date('w', strtotime($date))];
$date_d = date('d', strtotime($date));
$date_y = date('Y', strtotime($date));
return $date_d . " " . $date_m . " " . $date_y;
}
echo gws_daterus('2019-02-02');
Сборка персонального компьютера от Artline: умный выбор для современных пользователей