3/22 TIL今日振り返る


💡新知💡

timestampローカル時間、mysql時間差


ミニ掲示板にJPAのLocalDateTimeを使用して、最後の修正時間まで撮れるように配布したところ、撮られた時間が今の時間と違うことがわかりました.
Google検索では、コードを追加して変更する方法がたくさんあることがわかりました.
しかし、sqlworkbanchに行って確認してみると、いっそ9時間も少なくなっていました.だからMySQL側の問題だと判断し、Google側の問題は、sqlにコマンドを入力して時間設定を変更すればいいのです.
これはちょうど私の場合に合っていると思うので、ついてみましたが、うまくいかなかった(何か間違っていたはずなのに...)最終的に別のコードで状況を解決した.
解決できるコード.アプリケーションファイルに適切なコードを追加すればいいです.
(ご協力ありがとうございます🙏)
@PostConstruct
        public void started(){
            TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
        }
私が試したsqlの解決方法はこうです.
select now();
作業車で上記コマンドで現在時刻を確認しました.
元の時間より-9時間長い
SET GLOBAL time_zone='+09:00';
SET time_zone='+09:00';
上のコマンドを入力してタイムゾーンを調整します.
そしてまた
select now();
sql時間を調べてみると、ぴったりでした.
しかし、sqlが再起動すると設定されたものが消えてしまうため、ファイル設定を変更する必要がある場所もあります.
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
適切なコマンドを入力しても適切なファイルはありません.
sqlは私のパソコンにインストールされていませんか...ううう
まあまあ解決しました.
私にとって、このような環境に対するエラーと問題はコードの問題よりずっと難しいです.ㅠは多分csの知識が足りないからでしょう.
学ぶべきことはたくさんあります.遠いネット世界です.