エス技研

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


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

      2017/06/16

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を再起動することを忘れずに実行しましょう。

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP3でDocumentRootやwebroot、imgフォルダのURLやドメイン、パスを取得
CakePHP3でDocumentRootやwebroot、imgフォルダのURLやドメイン、パスを取得

URLやドメイン、フォルダへのパスの取得は、ビューではUrlHelperを使い、コントローラーではRouterクラスを使います。第2引数の指定でURLを取得することも可能。

CakePHP 2.3 Search Pluginで検索処理 その2表示件数を動的に変える方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で動的に表示件数を変える方法です。

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

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

CakePHP 2.3で PDFを作成する方法を調査「mpdf」「TCPDF」「FPDF」

CakePHPで PDFを編集、出力するには「mpdf」「TCPDF」「FPDF」といったプラグインがあり、使い勝手を比較検討しました。TCPDFが一番良さそうでした。

CakePHP 2.3で確認画面付きのお問い合わせフォームの作り方

CakePHPで確認画面付きのお問い合わせフォーム、メールフォームの作り方をサンプルを提示しながら解説。

CakePHP3で値を入力直後にバリデーションする方法解説
CakePHP3で値を入力直後にバリデーションする方法解説

CakePHP3でバリデーションの実行を保存する時から入力情報を受け取るときに変更する処理の解説。CakePHP3ではnewEntity()の処理でバリデートするため1行追加で対応可能。

CakePHP 2.3 連携先のテーブルの項目で条件抽出する場合

アソシエーション(連携)している先のテーブルの項目で条件抽出する際の考え方と注意点をサンプルソースを用いて説明しています。

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

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

CakePHP3のForm Helperの使い方のまとめ

CakePHP3になりフォームヘルパーの使い方も大きく変わりましたので、使い方をまとめました。基本的な使い方からプラスアルファの便利な使い方まで紹介。

CakePHPを学ぶ際にはオブジェクト指向を学ぼう

CakePHPはオブジェクト指向で書かれていますので、CakePHPを学ぶにはオブジェクト指向も学びましょう。