今まではPostgreSQL派だったのですが、Amazon RDSがMySQLだと言う事もあり、最近はバックエンドのRDBMSとしてMySQLを使う機会が多くなってきました。 この間、何気なくDATETIME型のカラムを作って、Java側で new Date()して MyBatisでさくさくと INSERTしてみたのですが、なんかタイムゾーンがずれて格納されているような、、、という問題に遭遇しました。 以下、その際の格闘メモです。 まず、Amazon RDS (MySQL) は UTCで動いています。以下のSQLで確認しました。 mysql> SELECT @@global.time_zone, @@session.time_zone; +--------------------+---------------------+ | @@global.time_zone | @@session