Почти на каждом сайте можно встретить контент где показывается дата, это может быть дата публикации новости, статьи, и т.д. В 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