Предлагаю Вашему вниманию мою заметку о преобразовании даты в PHP
Преобразование даты в PHP
v:1.0 2009.01.06
Часто в программе на PHP при обработке данных, полученных извне, необходимо преобразовать дату в заданный формат.
Допустим, дата во входных данных имеет формат: "Thu, 03 Dec 2009 21:00:00 +0000", а нам нужен формат такой: "2009-12-03"
В PHP есть все необходимые средства для выполнения такого преобразования.
Я пользуюсь таким способом:
Функцией PHP explode разделяю исходную строку на подстроки, в качестве разделителя использую символ ' '(пробел).
Из подстрок "день", "месяц", "год" формирую новую строку.
Функцией PHP strtotime преобразую полученную в п.2. строку даты в "метку времени UNIX".
Функцией PHP date из метки времени UNIX делаю дату в нужном формате.
Все это может показаться сложным, но в коде это оборачивается всего в несколько строк:
Как видите, все достаточно просто. Уверен, что есть еще множество более эффективных методов преобразования формата даты в PHP.
Как это делаете Вы?