/**
* Function of formatting of date received from base
* Функция форматирования даты полученой из базы
* @param string
* @param bolean $string
* @return array (day, month, year) or string
*/
function formatDate($date, $string = true)
{
$month = array(
'января' => '01',
'февраля' => '02',
'марта' => '03',
'апреля' => '04',
'мая' => '05',
'июня' => '06',
'июля' => '07',
'августа' => '08',
'сентября' => '09',
'октября' => '10',
'ноября' => '11',
'декабря' => '12'
);
$keys = array('day', 'month', 'year');
// обрезаем время и превращаем его в массив разбивая по символу "-"
$date = explode('-', substr($date, 0, 10));
// Заменяем числовое значение месяца на его название
$date[1] = array_search($date[1], $month);
if($string == false)
// Сортируем в обратном поряке для привычного нам ДД.ММ.ГГ и присваиваем ключи к значениям day, month, year
$date = array_combine($keys, array_reverse($date));
else
// Сортируем в обратном поряке для привычного нам ДД.ММ.ГГ и обьееняем массив в строку
$date = implode(' ', array_reverse($date));
return $date;
}
Ваши комментарии господа ... :rolleyes:
З.Ы. добавил параметр для получения результата в виде строки
Спустя 11 минут, 21 секунда (11.01.2011 - 14:02) linker написал(а):
Массив $month будет каждый раз создаваться при вызове функции formatDate(), как собственно и $keys, а оно надо?
В целом есть гораздо короче и быстрее варианты, например пересмотреть содержимое полей в таблицах базы данных, SQL-запросы и прочее.
В целом есть гораздо короче и быстрее варианты, например пересмотреть содержимое полей в таблицах базы данных, SQL-запросы и прочее.
Спустя 36 минут, 2 секунды (11.01.2011 - 14:38) Evilsoul написал(а):
Замечание дельное, но эти массивы можно вынести за функцию в любой скрипт с настройками...
Вот допустим мне нужно получить дату целиком:
Результат: 10 января 2011
А если мне нужно вывести в форму для того что бы изменить дату, то так:
А если я захочу написать месяца на иврите?
Или мне нужен будет только название месяца
Вот допустим мне нужно получить дату целиком:
formatDate($date, $string = true)
Результат: 10 января 2011
А если мне нужно вывести в форму для того что бы изменить дату, то так:
$date = formatDate($row['date']);
<input type="text" size="10" value="<?php echo $date['day']; ?>" />
<input type="text" size="10" value="<?php echo $date['month']; ?>" />
<input type="text" size="10" value="<?php echo $date['year']; ?>" />
А если я захочу написать месяца на иврите?
Или мне нужен будет только название месяца
_____________
Кто хочет, ищет возможности, кто не хочет - причины. /_ К. Маркс
Истенно велик тот человек который сумел овладеть своим временем. /_Гесиод VIII-VII вв. до Р. Х.
Медлительный непрерывно борится с бедами всю жизнь. /_Гесиод VIII-VII вв. до Р. Х.
Для того что бы увидеть радугу нужно пережить дождь.
Женщины: Хочется чего-то красного но синего.