Как бы я сделал метки времени mysql в php? - PullRequest
2 голосов
/ 16 марта 2011

Хорошо, поэтому у меня есть база данных mysql, и мне нужно поле updated_at и поле create_at, например ruby ​​on rails, по умолчанию. Я думал об использовании метки времени для обновленного поля и даты и времени для созданного в поле. Я читал эту статью, чтобы помочь мне выбрать, но я до сих пор не знаю, есть ли какой-то стандарт, который будет делать это автоматически с небольшим дополнительным кодом ... любые идеи по этому поводу

Ответы [ 4 ]

2 голосов
/ 16 марта 2011

Лучше всего использовать метки времени UNIX на обеих.

Чтобы иметь метку времени UNIX в PHP, используйте

time();

, и для ее использования в MySQL используйте

UNIX_TIMESTAMP();

функция. PHP может просто конвертировать метки времени UNIX в любую отформатированную строку даты, используя

Date();

функция. И вы также можете сделать расчеты с этим.

1 голос
/ 16 марта 2011

Вы на пути к использованию TIMESTAMP для вашего обновленного поля, которое обеспечивает функции, которые вы ищете.Чтобы сохранить согласованный формат даты, я бы затем использовал DATETIME для созданного вами поля и использовал now() для вставки.

Я предпочитаю метки времени UNIX, но тогда вам придется кодировать поле updated_at.

1 голос
/ 16 марта 2011

Вы можете сделать это полностью в вашей системе управления базами данных. Например, MySQL имеет функции для использования текущей даты или времени: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Пример: insert into a (CURRENT_TIMESTAMP);

1 голос
/ 16 марта 2011

Что ж, код от php даст вам только ваше время, как ваш компьютер это видит.Где mysql это имеет CURRENT_TIMESTAMP.

...