Mysql 5.0 DBには、LastUpdated情報を制御するための列があります。列はTimeStampのものであり、MySqlはデータを自動更新します。
この列をUTC形式で選択しようとしています。
問題は、サーバーが米国の日時に設定されていることです。 MySqlのドキュメントによると、DBは情報をUTCで保存しますが、情報を表示したい場合は、サーバーの時刻に変換します。
この変換を回避してSELECTコマンドを実行する方法はありますか?
サーバーのデフォルトのタイムゾーンを変更するだけでなく、次のSQLステートメントを実行して、接続ごとにタイムゾーンを調整することもできます。
SET time_zone = timezone;
ここで、timezoneはタイムゾーンの名前です( MySQLドキュメントを参照 )。
または、 CONVERT_TZ
function を使用して、タイムスタンプを別のタイムゾーンに変換することもできます。
SELECT
CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00') AS `utc_datetime`
FROM `table_name`
ここでチートシートを作成しました: MySQLのタイムゾーンをUTCに設定する必要がありますか?