При работе с базой данных MySQL часто используется тип поля, для ввода даты, TIMESTAMP, оно формирует число и дату такого вида:
2009-09-17 08:26:21
Чтобы преобразовать в привычное для нас видение дату, используем регулярное выражение и напишем функцию. Код этой функции представлен в листинге №1.
Листинг № 1 - Функция конвертации даты из MySQL формата в календарный.
<?php
function ref_date($date)
{
preg_match("|([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\s([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})|",$date,$out);
return "$out[3].$out[2].$out[1] $out[4]:$out[5]:$out[6]";
}
?>
В функцию preg_match, для сохранения данных поиска добавляется третий элемент $out. Это массив, в котором содержаться все найденные элементы по шаблону. Элемент массива с нулевым индексом имеет полное соответствие шаблону, т.е. не разделён на части. Следовательно дальше идут элементы описанные в шаблоне по порядку слева на право. Таким образом год имеет в массиве индекс 1, а число индекс 3. Меняем их при выводе местами и получаем представление даты "по-русски".
Вариант второй.
Листинг № 2 - Форматирование даты происходит с помощью встроенной функции MySQL DATE_FORMAT.
<?php
$r = mysql_query("SELECT DATE_FORMAT(NOW(), '%d.%m.%Y %H:%i:%s')");
$e = mysql_fetch_array($r);
echo $e[0]; // покажет текущее время сервера
?>
Урок закончен