Я сделал это в PHP для хранения lastlogin в MySQL даты и времени колонкеPHP и дата MySQL разница во времени
date('Y-m-d h:i:s') //which then gave > '2014-01-04 08:00:56'
и затем сохранить его
Когда мне нужно вычислить пользователей, которые были на сайте более 20 минут, я сделал это в MySQL
SELECT * FROM `elc_users` WHERE TIMESTAMPDIFF(MINUTE , lastlogin, NOW()) <20
он не работал, когда я проследил в MySQL, Now()
дал это>2014-01-04 20:00:56
Теперь это не позволит мне получить мои 20-минутные пользователи.
Как это исправить?
EDIT
Я вставил запись вручную в PhpMyAdmin, чтобы быть уверенным, whthear его часовой пояс проблема в timestamp
колонке со значением по умолчанию current_timestamp
, он дал 2014-01-05 06:48:21
. Я СРД этот запрос в PhpMyAdmin
SELECT created, NOW() `elc_users`
это дало 2014-01-05 18:53:53
Теперь я также EXEC код ниже, чтобы проверить глобальную и сеансовый часовой пояс, и я получил PHPMYADMIN
mysql> SELECT @@global.time_zone, @@session.time_zone;
, который затем дал SYSTEM | SYSTEM
Возможно, ваш сервер mysql имеет другой часовой пояс. –
Это на моей машине dev, хорошо, как я могу избежать этой разницы в часовом поясе – Smith
@ FilipGórny PLS посмотреть на редактирование – Smith