2012-06-11 2 views
0

Если я использую функцию времени PHP(), а в MySQL есть 4 поля DATE, DATETIME, TIMESTAMP и TIME, какой из них я должен использовать?Функция PHP time() и поля MySQL

В PHP я использую Time() для записи как даты, так и времени, как 5/10/2012, и время используется для вычисления прошедшего времени.

+3

'time()' возвращает целое число, поэтому вы можете просто использовать целое число со знаком, если вы не планируете использовать какие-либо функции даты/времени в mysql (без использования 'FROM_UNIXTIME()'). –

+1

Можете также прочитать это: http://stackoverflow.com/questions/977967/mysql-date-or-php-time – GDP

ответ

1

Используйте то, что вам нужно:

ДАТА: хранит только дни исключая: 2012-06-11

DATETIME: хранит дни и время например: 2012-06-11 12:49:31

TIMESTAMP: магазины дни и время назад: 2012-06-11 12:49:31 У MySQL есть функция, которая устанавливает это поле в текущую временную метку, когда в строке было обновление. Может быть (не знаю, прямо сейчас) можно указать по номеру. Другие должны быть указаны «гггг-мм-d чч: мм: сс»

преобразовать значение DB в время использования StrToTime РНР()

1

Я хотел бы предложить вам использовать MySQL Data And Time функции вместо. Если вам нужно сохранить текущее время, используйте команду «СЕЙЧАС»(). Тип DATETIME. Кроме того, вы можете использовать временную метку Unix, сохраняя ее как INT.

1

Временная метка Unix - это самая простая форма времени/даты - «необработанный формат», если хотите. Как только у вас есть отметка времени, вы можете получить любой другой формат, который вы хотите. Лично я не вижу смысла хранить DATE или DATETIME, только чтобы преобразовать его в метку времени, когда вы снова извлекаете данные, что, конечно же, вам нужно будет сделать, если вы хотите отображать дату/время в любом читаемом формате (см. date() функция).

MySQL имеет время поля, которое хранит текущую временную метку при создании записи. Альтернативно, и если вы хотите больше гибкости, функция PHP возвращает текущую временную метку. PHP также имеет функции для вычисления временной отметки в определенный момент времени (например, если вы хотите указать дату в формате dd/mm/yyyy).

Итак, я бы всегда использовал временные метки, и я тоже рекомендую вам, если у вас нет особых потребностей.