现在我的查询看起来像这样(相关部分):
UPDATE last_seen=NOW()
但它插入了一个比我早 2 小时的时间。有什么办法可以调整吗?
谢谢
我建议你尝试这样的事情:
有一个hidden input
收集用户的时区
<input type="hidden" name="offset" class="offset">
$('.offset').val(new Date().getTimezoneOffset());
然后在更新之前获取它并像这样将其转换为秒
$offset = intval($_REQUEST['_offset']) * 60;
最后将其添加到time()
:
$now = time() + $offset;
执行上述操作,您将获得一个变量,其中包含客户在其时区中的时间。如果您不希望这样,并且希望每个人都有一个共同的时间,只需在您的以下设置您的时区index.php
:
date_default_timezone_set('TIMEZONE IN HERE'); //Supported timezone list: http://www.php.net/manual/en/timezones.php
但最好将其设置在您的php.ini
(时区)或更改服务器的时区(Debian/Ubuntu: dpkg-reconfigure tzdata
)
http://dev.mysql.com/doc/refman//5.5/en/time-zone-support.html您需要设置 MySQL 的时区概念。希望有帮助...
听起来 MySQL 和你不在同一个时区。
你有一些选择: