Здравствуйте, объясните ,как лучше преобразовать timestamp вида 0000/00/00 00:00:00 в обычную дату d.m.Y.
Нашел такой способ:
1. LEONeso - 03 Февраля, 2011 - 22:41:19 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- // строка полученная из Access
- $date_time_string = '2000/05/27 02:40:21 PM';
- // Разбиение строки в 3 части - date, time and AM/PM
- // Разбиение даты
- // Разбиение времени
- // Если у нас время в формате PM мы можем добавить 12 часов для получения 24 часового формата времени
- if ($dt_elements[2] == 'PM') {
- $time_elements[0] += 12;
- }
- // вывод результата
- echo mktime($time_elements[0], $time_elements[1],$time_elements[2], $date_elements[1],$date_elements[2], $date_elements[0]);
- ?>
Но он достаточно громоздкий и допустим в цикле из 1000+ записей, будет весьма долго работать.
В книге "MySQL Сборник рецептов" от Поль Дюбуа нашел в главе 5.5 - Разбиение дат и времени с помощью функции извлечения составляющих, функции типа "YEAR() - год даты, MONTH() - месяцы 1-12, DAYOFMONTH() - день месяца 1-31"
Вопросы:
1. Возможно ли на уровне запроса, выверки из базы данных, изменить получаемые даты из таблицы и выводить уже преобразованную дату?
2. Если "да", то как грамотно составить запрос? пример таблицы: id, name, date