Cake2脳で作ってたらちょっとだけハマってしまったのでメモ。
もちろん php.ini では Asia/Tokyo になっているのに…
開発を開始するときにまず設定するべきものですが…(・_・)、急いでたら後回しになっちゃうよね。基底の設定。
Cake4インストール直後の状態で Cake内でdateを実行すると…
echo date(DATE_ISO8601);
//2020-04-08T00:43:34+0000
UTCの時刻で処理されてしまいます。なんで?
原因:bootstrap.php 内で、Cakeアプリ上で使うtimezoneがApp.defaltTimezone の値で設定されている
//bootstrap
/*
* Set the default server timezone. Using UTC makes time calculations / conversions easier.
* Check http://php.net/manual/en/timezones.php for list of valid timezone strings.
*/
date_default_timezone_set(Configure::read('App.defaultTimezone'));
特に世界進出を企んでいるわけではないので、日本時間に固定したいと思います。
config/app.php
'App' => [
'namespace' => 'App',
'encoding' => env('APP_ENCODING', 'UTF-8'),
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'),
'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'),
'base' => false,
ここの、defaultTimezoneをAsia/Tokyo に。
'App' => [
'namespace' => 'App',
'encoding' => env('APP_ENCODING', 'UTF-8'),
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'),
'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'Asia/Tokyo'),
'base' => false,
日本時間になりました(>_<)
echo date(DATE_ISO8601);
//2020-04-08T09:43:51+0900
Cake4、探り探りで老化が際立ってきたおじさんの脳には大変です(>_<)誰かやさしく教えて(´д`)