Получаем значение TIMESTAMP в отформатированном виде


Изменение структуры записей позволило нам сократить количество полей в таблице и немного уменьшило размер PHP-кода, однако поставило перед нами одну проблему - мы теперь не можем получить дату и время в привычном виде или с помощью простых инструкций MySQL. Однако такая проблема быстро решается с помощью имеющейся в MySQL функции DATE_FORMAT, которая преобразует значения TIMESTAMP к более удобному виду.

Подобно функциям для работы с датой и временем, которые обсуждались в главе 3, для этой функции также передаются данные, а затем с помощью раз-личных параметров указывается, как именно должны форматироваться эти данные. Приведем наиболее важные параметры;

  • %с- численное значение месяца, 1 соответствует январю, 12 - декабрю;
  • %d и %е- численные значения числа, %d- число будет всегда состоять из двух символов (от 00 до 31), %е- обычная запись (от 0 до 31);
  • %H и %h - часы, впереди при необходимости стоит 0, в формате 24 или
  • 12 часов;
  • %i- минуты, впереди при необходимости стоит 0;
  • %Т- время в формате чч:мм:сс, для часов используются значения от 0 до 24;
  • %w - численное значение дня недели, 0 соответствует воскресенью, 6 - субботе;
  • % F - значение года, состоит из четырех цифр»

Эти параметры можно объединять без всяких ограничений, при передаче в функцию они заключаются в одинарные кавычки. Например, если мы хотим получить из поля time_stamp дату в формате «27.3.1961», то для этого используем следующую команду:

SELECT DATE_FORMAT (time_stamp, '%е.%с.%Y') FROM log

Для того, чтобы считать отформатированную дату и затем использовать ее в нашей программе, мы должны указать MySQL, какому значению должна быть передана полученная дата - да, в данном случае речь идет не о переменной, а только о значении. Для этого мы используем команду AS паше, смысл ее выражается следующим образом: «Извлечь содержание поля time_stamp таблицы log и сохранить его в форматированном виде под именем date»:

SELECT DATE_FORMAT (time_stamp, '%e.%c.%Y') AS date FROM log

Команда DATE„FORMAT вместе с ключевым словом AS служит в качестве первого параметра для SELECT, после этого можно добавить и другие параметры, разделяя их с помощью запятой. В результате добавляем date, s и webpage и получаем следующую команду:
DATE_FORMAT (time_stamp, '%е.%с.%Y’) AS date, referer, webpage Присваиваем значение переменной $query и получаем измененный скрипт для вывода данных:

$query = "SELECT DATE_FORMAT (time_stamp, '%e.%c.%Y') AS date, referer, webpage FROM log ORDER BY time_stamp LIMIT $start, $interval"

Так как далее для хранения даты мы всегда используем название date, то в оставшуюся часть скрипта мы не вносим никаких изменений (рис. 6.23). Однако для полноты необходимо указать, что не обязательно жестко привязываться к названиям полей таблицы. Команду AS date вы можете свободно заменить на команду AS something и использовать ее в составе команды SELECT, однако затем также необходимо будет заменить инструкцию

$date = $dp->date;

на другую:

$date = $dp->something;
 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика