Главное меню
список тем создать тему

хранение дат в базе данных

Версия: HEAD

Тип: Доработка
Статус: Отклонено
Важность: Если время будет
Описание
Предлагаю на рассмотрение:
переписать скрипт в отношении хранения дат.
Вообще, в mysql должны храниться даты, а не их представления. Потому что иначе трудно преобразовывать. Поэтому считаю вообще лишним использовать тип поля как DATETIME и подобных. Дату удобнее хранить в int. Тогда текущая дата UNIX_TIMESTAMP, а после считывания в php с помощью date или других функций она легко преобразовывается к любому виду. Тогда как определённый текстовый формат даты преобразуется сложнее - нужно распарсить дату, потом распарсить время и объединить в другом виде...
MySQL не хранит даты как текст. Они как раз таки хранятся в неком аналоге INT, так что никакого парсинга при выборке не происходит. Кроме того, MySQL содержит огромное количество функций для работы с полями даты. Понятно что большинство из них (если не все) можно эмулировать при помощи PHP, но зачем делать повторно уже один раз выполненную работу (да еще и выполненную на более низкоуровневом языке)?
Чтобы было проще преобразовывать даты при выводе, я стараюсь выбирать оба варианта: и date, и UNIX_TIMESTAMP(date).
Кстати, до версии 5.1 в php не поддерживались отрицательные метки времени... То есть, например, дату рождения старше 1970 года было не ввести.