phpで日付を取得するdate()を使うと日本時間を表示するように設定する

phpで日付を取得するdate()を使うと日本時間を表示せず、グリニッジの標準時間を表示していて困ったので解決策を調べたら1行で解決しました。
 

日付を表示するためにdate()を使用すると色々便利ですが、サーバーによっては何故かイギリス時間を表示してしまうことがあります。

つまり、9時間足りない状態。10時で表示してほしいけど、1時と表示される感じですね。グリニッジの標準時間が表示されしまっているのです。

 

date()で時間を表示すると日本時間じゃなく9時間足りない

サンプルで、下記に「date(“Y-m-d H:i:s”)」で表示させています。

タイムゾーン未設定:2017-12-11 01:53:49

どうですか?日本時間に比べて9時間足りてないはずです。この理由はサーバーの参照時間が日本時間(アジア)になっていないからみたい。

php_iniでタイムゾーンを設定する

そこで、下記を追記してあげると日本時間を表示してくれるようになります。

date_default_timezone_set('Asia/Tokyo');

タイムゾーン設定済:2017-12-11 10:53:49

いかがですか?きっと日本時間ぴったりに表示されているはずです。もし違ったら教えてください!慌てます(笑)

ちょっと慌てました、イギリスは夏季にサマータイムとして1時間進めている時期があるので注意したいです。これ何の時刻やねん!と慌てます(笑)

投稿日: 2017/09/24
最終更新日: 2017/10/19
 
筆者のご紹介
角政典@moreiic
真性のお家大好きフリーランスです。プログラムよりご飯の方が断然好き!博多出身のデブデザイナー。インドアだけど遊んでくれる人募集中!
よく検索されてる記事