エス技研

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


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

      2018/05/13

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」にします。
 

 
 

CakePHP3.4 の場合は /config/bootstrap.phpの値を変更

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

 
 

CakePHP3.6 の場合は /config/app.phpの値を変更

 
CakePHP3.6の場合は、/config/app.php の「APP_DEFAULT_TIMEZONE」の値を変更します。
こちらもデフォルトでは「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で環境変数を設定して本番環境と開発環境を分けて処理をする場合
CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応
CakePHP3でアソシエーション先のカラムでデータをソートして取得したい
CakePHP3のdatetime型カラムの日時の扱い。秒まで正しく表示する方法
CakePHP3のアソシエーションでJOINのタイプのLEFT、INNERを切り替えながら使う方法
CakePHP3のHtmlHelperのLink設定のまとめ。mailto、URL、Root/Homeのリンクなども
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3のfriendsofcake/searchでツリーカテゴリーの子階層も含めて検索する方法
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説

CakePHP3で静的なページを設置する場合の方法(webrootとpagesとを活用する方法)を解説。pagesの解説はデフォルトのトップページがどう表示されているかを参考に解説。ルーティングの機能も。

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

CakePHP3でファイルをアップロードする処理を、php.netにある「エラーを起こさない」と説明がある処理を参考に作成。サンプルソースとその解説付きで、コピペでも動くし、カスタマイズも簡単!

CakePHP 2.x系 Viewでのコメントの記述方法など

CakePHPにおいて View、ctpファイルでコメントを記述する方法を解説。

CakePHP3のCakeDC/Usersのログイン後のリダイレクトを設定解説
CakePHP3のCakeDC/Usersのログイン後のリダイレクトとユーザ権限管理の設定解説

CakeDC謹製Usersプラグインの紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。

CakePHP3のバージョンを指定してインストールする詳細な手順を解説
CakePHP3のバージョンを指定してインストールする詳細な手順を解説

CakePHP3のバージョンを指定してインストールする方法を詳細解説。CakePHP3のインストールはComposerを使うため設定もほぼ自動で完了。データベースの接続情報を記載すればアプリ開発のベースが整う。

CakePHP 2.3でOn Duplicate Key構文を実装

CakePHPで On Duplicate Key構文を Queryを利用して実装する方法をサンプルソース付きで解説します。

CakePHP3のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
CakePHP3のキャッシュをクリアする方法「bin/cake cache clear_all」を使う

CakePHP3では処理を高速化する手法の一つとしてキャッシュを利用している。しかし、その情報は元の情報を更新しても反映されない場合がある。そんなときはキャッシュを削除する必要がある。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!

CakePHP3のインストールでURL rewriting......のエラーが!その解決方法解説
CakePHP3のインストールでURL rewriting……のエラーが!その解決方法解説

CakePHP3をインストールしたら URL rewriting is not properly configured.のエラーが。原因は.htaccessが有効になっていないこと。httpd.confに設定を追加すればOK。

CakePHP3のメール送信の処理・テンプレート使用・添付ファイル送信も解説
CakePHP3のメール送信の処理・テンプレート使用・添付ファイル送信も解説

CakePHP3からメールを送信する方法解説。基本的な記述方法を基にして、テンプレートを使う方法、ファイルを添付する方法へと拡張しながら解説。