現在、私のクエリは次のようになっています(関連部分):
UPDATE last_seen=NOW()
しかし、それは私のものより2時間早い時間を挿入します。それを調整する方法はありますか?
ありがとう
DBにタイムゾーンを設定します。この投稿をご覧ください。 https://stackoverflow.com/a/3451971/1227435
これはもう1つの優れたリソースです。
次のようなことを試してみることをお勧めします。
ユーザー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
方がよいでしょう。
MySQLはあなたと同じタイムゾーンにないようです。
いくつかのオプションがあります:
http://dev.mysql.com/doc/refman//5.5/en/time-zone-support.htmlMySQLのタイムゾーンの概念を設定する必要があります。お役に立てば幸いです...