エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法

      2017/10/28

CakePHP3でタイムゾーンを指定する手順の解説

 
CakePHP3の定義ファイルに記載してある「タイムゾーン」の設定は、標準設定では「UTC」になっています。
これを日本時間に設定を変更します。
 
ちなみに、「UTC」は「協定世界時」と呼ばれる世界の標準時刻で、かつて広く使われていました「グリニッジ標準時(GMT)」から置き換えられたものです。
また、日本の標準時は「JST」と表現します。
 
 

CakePHP3でタイムゾーンの設定をする前に MySQLの設定を確認する

 
「CakePHP3でタイムゾーンを設定する手順」として開設を行いますが、まず最初に、下記の記事に従って、MySQL側でタイムゾーンの設定がされているか、確認をしてください。
 
MySQLのタイムゾーン(mysql_tzinfo_to_sql)の設定方法・XAMPP環境の解説も
 
 
この MySQLのタイムゾーンの設定ができていない場合は、下記のエラーメッセージが表示されるためです。
 

 
ローカル環境でエラーが出ても問題ない場合は、次項の CakePHP3の設定を先に行っても問題ありませんが、本番環境などでエラーが発生することを避けたい場合は、先に MySQLの設定を行ってください。
 
 

CakePHP3の定義ファイルの設定

 
CakePHP3のタイムゾーンの変更は、設定ファイルである、app.php、bootstrap.phpの 2ファイルの設定情報を変更します。
 

/config/app.phpの値の変更

 
/config/app.php の「Datasources」にある「timezone」の値を変更します。
 
デフォルトでは「UTC」になっていますので、これを「Asia/Tokyo」もしくは「+09:00」にします。
 

 
 

/config/bootstrap.phpの値の変更

 
/config/bootstrap.php の「date_default_timezone_set」の値を変更します。
こちらもデフォルトでは「UTC」になっていますので、これを「Asia/Tokyo」にします。
 

 
 

変更されたことの確認

 
わざわざ記載するほどのことでもないですが、設定した内容が正しく変更されたことを確認するために、適当なテンプレートファイル「index.ctp」などに下記の日時を表示する処理を追記して、確認を行ってください。
 

 
 

php.iniのタイムゾーンの設定

 
CakePHP3の設定を行うことで、この「php.ini」の設定を行っていなくても日本時間の表示はできますが、CakePHPを使わない PHPのプログラムで日本時間になっていないということが発生する場合もありますので、予防措置として、php.iniの設定箇所についてもご紹介しておきます。
 
php.iniの場所は、標準設定の場合はそれぞれ下記になります。
 Linuxの場合 /etc/php.ini
 XAMPPの場合 c:\xampp\php\php.ini
 
下記の通り、「date.timezone」を検索し、「Asia/Tokyo」を設定します。

 
私の環境の XAMPPの php.iniでは「date.timezone」の記述が 2ヵ所にありました。
複数個所ないか、確認しておく方がいいでしょう。
 
また、php.iniの設定変更を反映させるために、Apacheを再起動することを忘れずに実行しましょう。
 
 

CakePHP3の関連記事

CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説
CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3
CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2
CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3のバージョンを指定してインストールする詳細な手順を解説
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1
CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその1で基本的な導入方法の解説で読みながら簡単に導入が可能。

CakePHP 2.3 Search Pluginで検索処理 その7queryを使って 日付の範囲検索

CakePHPの検索プラグイン Search Pluginの検索処理の中で queryを使って日付の範囲検索の方法です。

CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2
CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2

ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。

CakePHP 2.3 テーブルの項目を演算した結果を条件として抽出する方法

アソシエーション(連携)している先のテーブルの項目で演算をする場合の考え方と注意点をサンプルソースを用いて説明しています。分かってしまえば簡単です。

CakePHP3ログファイルの出力方法・$this->log()の解説
CakePHP3ログファイルの出力方法・$this->log()の解説

コントロール、モデルの変数の中身を見るときはログに出力する方法が有効です。$this->log()を利用すると変数だけじゃなく、連想配列、オブジェクトも簡単にログ出力ができます。

CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3
CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその3で記事を更新する際のファイルの取り回しなどについてを解説。

CakePHP 2.3 主キー(ID)以外のキーで更新方法 updateAll

主キー(ID)以外のカラムをキーとして更新する方法、updateAllの使い方をサンプルを用いて解説します。

CakePHP 2.3 コマンドラインからPHPのシェル実行の方法解説

CakePHP 2.3でコマンドラインから CakePHPで記述した処理を実行する方法を解説します。

CakePHP 2.3で saveの便利な使い方・サンプルソース付き

CakePHPのレコードを保存、更新する際に使う Saveを詳細解説します。

CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ
CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ

CakeDC謹製Usersプラグインの紹介。UserHelperを利用し、ログアウトのリンクや権限があるときのみ表示されるリンク、プロフィールページへのリンク、reCAPTCHAの設置方法などを解説。