13

次の INSERT ステートメントを使用しています。

INSERT INTO messages SET `to` = '".$to."', `from` = '".$this->userid."', `title` = '".$title."', `message` = '".$message."', `created` = NOW()

ただし、サーバー時間 (アメリカ/モントリオール) を使用します。アジア(アジア/カルカッタ)のタイムゾーンが欲しい

これは同じクエリで可能ですか?

4

4 に答える 4

8

MySQL への接続を開いた後、クエリとして次を実行します。

SET time_zone = timezone;

次に、実行するすべての機能が、その接続のそのタイムゾーンで実行されます (つまり、データベースへの「リンク」を閉じるまで)。

適切な権限がある場合は、「永久に」/グローバルにロックできます。Tiemzone 文字列は、質問にあるように標準的な文字列です。

http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

于 2012-05-23T13:33:54.527 に答える
8

CONVERT_TZ()この関数を MySQLで使用することをお勧めします。これは、オペレーティング システムが使用するOlson データベースに基づいています。

これがドキュメントです。

于 2012-05-23T13:27:19.847 に答える
0
$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してデータベースに挿入できます。

于 2012-05-23T13:33:44.733 に答える