こんにちは、さるまりんです。
MySQLで
select current_timestamp;
として、現在の日時を取得しようとすると、なぜか-9時間の日時が取れる。。
-9時間といえばUTCでとれているということかなと思いMySQLのタイムゾーンをチェック。
mysql> show variables like '%time_zone%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| system_time_zone | UTC |
| time_zone | UTC |
+------------------+-------+
2 rows in set (0.01 sec)
やはりそのようです。
/etc/my.cnf
で設定を変更します。
[mysqld]
default-time-zone = 'Asia/Tokyo'
MySQLを再起動して、再度確認です。
mysql> show variables like '%time_zone%';
+------------------+------------+
| Variable_name | Value |
+------------------+------------+
| system_time_zone | UTC |
| time_zone | Asia/Tokyo |
+------------------+------------+
2 rows in set (0.01 sec)
変更完了です。
これでcurrent_timestamp
やnow()
でJSTの日時をとることができるようになりました。
あれ?となったら確認する。大切ですね。
読んでくださってありがとうございます。
それではまた!