PHPのdate関数で取得するタイムゾーン設定値を変えるには?

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。

サーバー上で特殊なプログラムを動かす案件のご相談で正確な時刻を取得する必要がありました。指定サーバーが標準でUTC時刻を取得していたので日本時刻で動かせるプログラムとして基準を変更しなければなりません。参考までにUTCはGMTと同じ世界基準の時刻なので日本時間とはちょうど9時間ずれています。

下記で設定変更方法をご紹介いたします。

PHPのdate関数で取得するタイムゾーン設定値を変えるには?

調べると「php.ini」で変更する方法が見つかりました。でもできるならPHP側で指定したいですよね。たとえば以下の記述だとサーバー側が動いている時刻で取得されるのでUTC(GMT)では日本時刻15時が朝6時となるため「日本時刻の深夜1時がUTCでは前日16時扱い」となり取得日が1日ずれて正確な日付を取得できません。

date('Y-m-d');

PHP側で指定する方法はたった1行でOK。

date_default_timezone_set('Asia/Tokyo');

上記を書いてから「date()」関数を使えば日本時刻で値を取得できます。

// タイムゾーンを設定して現在の日付を取得する 
date_default_timezone_set('Asia/Tokyo');
echo date('Y-m-d');

もしその後タイムゾーンを変更するなら下記のように追記すればOKです。

date_default_timezone_set('UTC');

地球の自転周期のズレなどからGMTよりもUTCの方が正確と言われていますがUTCもGMTもそれほど大差はないはずです。時刻設定はプログラムとして実装したい機能に合わせてお選びくださいませ。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください