Почти на каждом сайте можно встретить контент где показывается дата, это может быть дата публикации новости, статьи, и т.д. В PHP существуют несколько функций, которые позволяют выводить дату в удобоваримом формате, однако и этого не бывает достаточно. Наверное, вам уже приходилось видеть, как на некоторых сайтах дата выводится в строковом формате, где месяц указывается в виде слова вместо цифры. К примеру, значение 11.01.2015 показывается как «11 января 2015 г.» Рассмотрим несколько примеров, как можно реализовать подобные вещи самим.
Функция вывода даты в формате DD месяц, YYYY
function FormatDate($DATA)
{
$arM = array(
"01" => "января",
"02" => "февраля",
"03" => "марта",
"04" => "апреля",
"05" => "мая",
"06" => "июня",
"07" => "июля",
"08" => "августа",
"09" => "сентября",
"10" => "октября",
"11" => "ноября",
"12" => "декабря"
);
$arData = explode(".", $DATA);
$d = ($arData[0] < 10) ? substr($arData[0], 1) : $arData[0];
$newData = $d." ".$arM[$arData[1]].", ".$arData[2];
return $newData;
}
Обратиться к функции можно таким образом:
echo FormatDate("13.01.2015");
Результат будет таким: 13 января, 2015
Функция вывода даты в формате DD месяц YYYY, HH:MM
function FormatDataTime($DATA)
{
$arM = array(
"01" => "января",
"02" => "февраля",
"03" => "марта",
"04" => "апреля",
"05" => "мая",
"06" => "июня",
"07" => "июля",
"08" => "августа",
"09" => "сентября",
"10" => "октября",
"11" => "ноября",
"12" => "декабря"
);
$arData = explode(".", $DATA);
$d = ($arData[0] < 10) ? substr($arData[0], 1) : $arData[0];
$arTime = explode(":", substr($arData[2], 5));
$newData = $d." ".$arM[$arData[1]]." ".substr($arData[2], 0, 4);
if (isset($arTime) && isset($arTime[0]) && (isset($arTime[1]))) {
$newData .= ", ".$arTime[0].":".$arTime[1];
}
return $newData;
}
Для этой функции так же необходимо передать значение времени, в таком формате:
echo FormatDataTime("14.01.2015 18:00:13");
Результат: 14 января 2015, 18:00