9

現在、ユーザーが新しいアカウントを作成するたびに、データ型がCreation_date列になりますtimestamp。現在、このタイムスタンプはESTより3時間進んでいます(ボストンで午後5時の場合は午後8時です)。タイムゾーンをESTに変更する方法はありますか?現在、どのタイムゾーンに設定されていますか?

4

4 に答える 4

11

これは、MySQL のタイムゾーンに関係しています。

次のようにして、接続ごとに (たとえば、PHPMyAdmin を介して) 設定できます。

SET time_zone = timezone;

ただし、これはMySQL が再起動するとリセットされます。そのため、サーバー レベルで設定することをお勧めします。私は、あなたができないと思います。

MySQL Docsからさらに読むことをお勧めします。

于 2012-08-07T20:25:06.560 に答える
7

それに応じてこの質問で

SET SESSION time_zone = '+8:00'
于 2012-08-07T20:26:01.317 に答える
3

TIMESTAMP値は、DB に挿入されるときに UTC に変換され、取得時に MySQL に設定されている現在のタイムゾーンに戻されます。他の回答は、データベースからどのような値が得られるかを決定する MySQL でタイムゾーンを設定する方法を示しています。

別のオプションは、DATETIME列を使用し、すべての日付を UTC で保存し、それらをアプリケーション (PHP または値を取得する場所) で目的のタイムゾーンに変換することです。

于 2012-08-07T20:33:13.263 に答える