В MySql есть тип поля date, что лучше его использовать или функцию date в php.
Вопрос: У них формат разный в базе данных. Например: в базе данных 2000-10-7, а в php наоборот 7-10-2000. Или лучше хранить в бд количество секунд с 1970 года? Имеется в виду запись в БД формат даты?
Ответ: Язык php тесно связан с Базами Данных. Поэтому если мы в базе данных в таблице устанавливаем в поле date тип DATE, то при вызове функции:
$date = date("Y-m-d");
Данные так и запишутся: Год-месяц-день ( 2011-12-17 ).
$date = date("Y.m.d");
Данные так и запишутся: Год.месяц.день ( 2011.12.17 ).
$date = date("Y.m.d G:i");
В переменной будет: Год.месяц.день часы:минуты ( 2011.12.17 21:16).
Теперь если вы запишите эти данные в вашу таблицу Базы Данных, то именно этот формат и запишется:
$res = mysql_query("INSERT INTO table (date) VALUES ('$date')",$db);
Если же вам нужно выводить дату таким форматом: ( 13.12.2011 21:24 ). То нужно написать так:
$date = date("d.m.Y G:i");
Но учтите, что в таком формате данные в Базу Данных не запишутся. Они будут вставлены, то будет ошибка, и будет вставлена Дата по умолчанию.
Итак, мы видим, что тип date в базе данных может иметь разный формат. Но строгая последовательноть должна присутствовать, то есть: Год, Месяц, День, Час, Минуты ...
Если же вам хочется выводить результат даты в другом виде, то вообще лучше всего нужно сделать так:
в таблице вы тип ставите не DATE, а CHAR и количество символов - 100. Тогда оно будет сохраняться как вы хотите. А извлечение данных происходит также.