#はじめに
開発環境については以下の通りです。
OS:CentOS
仮装環境:vagrant
#事象
今回、一人でアプリケーションを作成している最中に
ローカル環境からGitHub上にあげたコミットメッセージの日付が2日前の日付で更新されるという現象が起きました。
解決するまでの流れを備忘録として残しておきます。
#解決までの流れ
まず、GitHub上で何か悪さしているのではないかと思い、「git 日時ずれる」などで検索かけてみましたが、日付が9時間ずれている場合の対処などは見つけることができましたが、2日もずれるという記事が全然見つかりませんでした。
git上での日時がずれる事象の記事を読んでいる時に、ntpというワードがでてきたので、これはgitではなく仮装環境のvagrantの設定日時がおかしいという事に気がつきました。
仮装環境に入りターミナルで以下確認すると、確かに2日前の日付となっており、
ここを変えてあげれば改善することが分かりました。(正常日時は2020/4/7 17:30頃)
$ date
Sun Apr 5 07:22:16 UTC 2020
#対処法
vagrant関連で検索を行うと、すぐに対処法に辿りつくことができました。
結論からいうと今回の事象は、システム時刻がUTCになってしまっていることが原因でした。
UTCになっているかいないかは、以下で確認ができます。
$ date
Sun Apr 5 07:22:16 UTC(←ここで確認できます。) 2020
今回行なったことは、仮装環境上で以下2つのコマンドを実行しました。
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
①「etc」配下にある「localtime」ファイルを削除
②「/usr/share/zoneinfo/Asia/Tokyo」のシンボリックリンクを「etc」配下に「localtime」として作成する。
vagrantを再起動し、確認する。
$ date
Tue Apr 7 18:36:26 JST 2020
UTCからJSTに変更されたことと、日時も問題なく戻りました。
#軽く補足。UTCとJSTについて
UTCは”Universal Time”の略で、世界共通の標準時間と定めているもの。
JSTは”Japan Standard Time”の略で、日本の標準時間と定めているもの。
上記の通り、それぞれ大きく違いがあります。