次の INSERT ステートメントを使用しています。
INSERT INTO messages SET `to` = '".$to."', `from` = '".$this->userid."', `title` = '".$title."', `message` = '".$message."', `created` = NOW()
ただし、サーバー時間 (アメリカ/モントリオール) を使用します。アジア(アジア/カルカッタ)のタイムゾーンが欲しい
これは同じクエリで可能ですか?
MySQL への接続を開いた後、クエリとして次を実行します。
SET time_zone = timezone;
次に、実行するすべての機能が、その接続のそのタイムゾーンで実行されます (つまり、データベースへの「リンク」を閉じるまで)。
適切な権限がある場合は、「永久に」/グローバルにロックできます。Tiemzone 文字列は、質問にあるように標準的な文字列です。
http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
CONVERT_TZ()この関数を MySQLで使用することをお勧めします。これは、オペレーティング システムが使用するOlson データベースに基づいています。
これがドキュメントです。
$myDateTime = new DateTime('2012-05-23 17:01', new DateTimeZone('GMT'));
$myDateTime->setTimezone(new DateTimeZone('Asia/Kolkata'));
echo $myDateTime->format('Y-m-d H:i');
目的の形式など、上記のコードを変更した後。変数を使用$myDateTimeしてデータベースに挿入できます。