次の表を想定します。
CREATE TABLE IF NOT EXISTS `test` (
`stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
次のSQLを実行すると:
SET time_zone = '+00:00';
INSERT INTO `test` (`stamp`) VALUES (CURRENT_TIMESTAMP);
の値test
は、UTCではなく私のマシンの現地時間です。
MySQLサイトによると
TIMESTAMP列の値は、保存のために現在のタイムゾーンからUTCに変換され、取得のためにUTCから現在のタイムゾーンに変換されます。
私は何が間違っているのですか?UTCの日付/タイムスタンプを使用してレコードを保存し、ユーザーのローカルタイムゾーンで取得したいと思います。