php время из базы данных - PullRequest
2 голосов
/ 25 июня 2011

Я использую функцию php time(), чтобы вставить время в базу данных после того, как пользователь разместил на моем сайте. Я храню это значение как int. Я считаю, что функция time() вводит количество секунд, начиная с 1970 года. Теперь я хочу получить текущее время, чтобы вычесть два и получить время с момента публикации пользователя. У меня есть два вопроса относительно этого процесса:

  1. Приходит ли время с компьютера пользователя или где-то на моем сервере или где-то еще?
  2. Является ли функция времени, хранящаяся как Int, лучшим способом сделать это?

Ответы [ 6 ]

3 голосов
/ 25 июня 2011

Приходит ли время от пользователя? компьютер или где-то на моем сервере или где-то еще?

  • На основе времени сервера

Функция времени сохранена как Int лучший способ сделать это?

  • Поскольку возвращаемое значение равно int, хранение в int - это путь.
1 голос
/ 25 июня 2011

Вы можете использовать тип столбца DATETIME для хранения данных такого типа. Восстановить значения довольно просто (например: как метку времени UNIX с использованием функции UNIX_TIMESTAMP MySQL, отформатированную дату / время с использованием DATE_FORMAT ...).

Вы можете каким-то образом переопределить ограничение 1970-х годов UNIX timpestamp, например, хранить и отображать дату рождения какого-то парня до 1970 года. Конечно, если вы просто храните данные в столбце DATETIME и используете UNIX_TIMESTAMP, чтобы получить int , ты ничего не сделал.

1 голос
/ 25 июня 2011
  1. Это время сервера.
  2. Это зависит от того, что вы собираетесь с ним делать.Запрос SQL для определенного месяца может быть лучше обработан полем DATETIME.
1 голос
/ 25 июня 2011

См. Документ PHP по время .

Функция time возвращает целое число, поэтому его использование и сохранение - самый простой и эффективный способ.

Поскольку PHP выполняется на сервере, используется время сервера. Убедитесь, что ваш часовой пояс установлен в вашей конфигурации PHP. Если вы этого не сделали, использование подробного уровня журнала должно предупредить вас об этом.

1 голос
/ 25 июня 2011

функция php time относится к внутреннему времени сервера. Вы можете использовать метку времени или дату и время для хранения времени в БД. По моему опыту оба имеют хорошие показатели.

Читайте о различиях типов времени: http://dev.mysql.com/doc/refman/5.0/en/datetime.html

0 голосов
/ 25 июня 2011

Лучше всего записать int в БД и использовать функцию mktime для разбора на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...