数日前に投稿し、回答から得られたアドバイスを使用しました。タイムゾーンのサーバーでホストされている大規模な Web アプリケーションがあり、すべての日時/タイムスタンプを現在のタイムゾーンに使用しました。UTC を使用して、コード レベルで適切なタイムゾーンに変換する必要がありました。
さて、私は今それをやっていますが、問題があります。現在使用しているサーバーは自分のタイムゾーンになく、TIMESTAMP (挿入時) はシステム (O/S) 時間に設定されています。UTC 時間ではありません。
しない理由:
SET time_zone = '+00:00';
挿入する TIMESTAMP 値を修正しますか? MySQL サーバーのタイムスタンプがデフォルトで UTC になるようにするにはどうすればよいですか?
解決済み:
MySQL はデータベース内の TIMESTAMP を現在のタイムゾーンに自動的に変換して表示するため、これは非常に紛らわしいものです。実際には、すべてのタイムスタンプが UTC として保存されます。だからあなたが行くなら:
SET SESSION time_zone = '+00:00'; SELECT * FROM what_ever_table;
そのタイムゾーンのタイムスタンプが表示されます。