LoginSignup
14
10

More than 5 years have passed since last update.

Laravel Homesteadの日本時間設定をする

Last updated at Posted at 2018-02-15

アプリでJSTの場合。
MySQLなんかもデフォルトだとシステムのタイムゾーンに依存しているので、Carbonを使わなくてもDBをJSTに統一する場合は設定をした方がいいかも。

Carbonはphpのdatetimeのラッパーですが、アプリ側でtimestampを押す時や、現在時刻との比較など便利です。

それはある日、tinkerでCarbonを使ってみた時。

>>> Carbon\Carbon::now()
=> Carbon\Carbon @1517950563 {#836
     date: 2018-02-07 05:56:03.330975 Asia/Tokyo (+09:00),
   }

よくよくみたら一週間くらいズレているやんけ!(2018-02-15 確認)

右のAsia/Tokyoはアプリ側(config/app.php)なんですが、Homestead側がダメっぽいです。

Homestead環境だとNTPサーバが正しく設定されてないようです。


$ date
Tue Feb  6 20:57:59 UTC 2018

localtime設定

ジャポンにする。

$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

NTP設定

ジパングにする。

$ sudo ntpdate -v ntp.nict.jp
The program 'ntpdate' is currently not installed. You can install it by typing:
sudo apt install ntpdate

初期装備だとntpdateが入っていないらしい。

$ sudo apt install ntpdate
$ sudo ntpdate -v ntp.nict.jp
15 Feb 13:12:57 ntpdate[3191]: no servers can be used, exiting

exitingがexistingに空目するし、excitingにも見える。
なんか直ってたっぽい。

$ date
Thu Feb 15 13:13:08 JST 2018

tinkerで確認する。

>>> Carbon\Carbon::now()
=> Carbon\Carbon @1518671225 {#814
     date: 2018-02-15 14:07:05.316495 Asia/Tokyo (+09:00),
   }

ひとあんしん。

Eloquentで取ってくるレコードも変わってくるので重要。
アプリ周りのエラーにつながるのでHomestead初期装備のままだとあかんということか。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10