Рассматривали ли вы использование слоя базы данных, такого как MDB2 или PDO, который может преобразовывать типы для вас? MDB2 имеет тип даты, который отображает формат ГГГГ-ММ-ДД, но может быть легко преобразован в м / д / г с помощью strftime и strtotime.
Пример использования MDB2:
$dsn = "mysql://user@pass/db"; (not sure about DSN format, you might have to poke the MDB2 documentation)
$connection = MDB2::connect ($dsn);
$connection->loadModule ("Extended");
$rows = $connection->getAll ("your query", array ('date', ...), $parameters, array (paramater-types), MDB2_FETCHMODE_OBJECT);
if (MDB2_Driver_Common::isError ($rows)) throw new Exception ("Error!");
else { foreach ($rows as $row) { ...Do something... } }
Более подробную информацию об использовании MDB вы можете найти в MDB2 на InstallationWiki . Также там вы найдете список типов данных MDB2 и их отображения для отображаемых значений. Кроме того, Документы для MDB2_Extended будут хорошим источником информации.
Редактировать: Очевидно, вам придется использовать strftime и strtotime в каждой строке отдельно. Если вы переключите MDB2_FETCHMODE_OBJECT
на MDB2_FETCHMODE_ORDERED
или MDB2_FETCHMODE_ASSOC
выше, вы, вероятно, можете использовать цикл foreach для запуска strftime и strtotime во всех строках, которые необходимо переформатировать.