[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция форматирования даты полученой из базы
Evilsoul
Делал, делал галерею и решил сделать к ней вот такую функцию:
/**
* 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-запросы и прочее.

Спустя 36 минут, 2 секунды (11.01.2011 - 14:38) Evilsoul написал(а):
Замечание дельное, но эти массивы можно вынести за функцию в любой скрипт с настройками...

Вот допустим мне нужно получить дату целиком:
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 вв. до Р. Х.
Для того что бы увидеть радугу нужно пережить дождь.
Женщины: Хочется чего-то красного но синего.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.