CakePHP4の日付フォーマット

1 Mins read

i18nFormatを使って表現します

$targetDay = Cake\I18n\FrozenTime::now();
echo $targetDay->i18nFormat('eee', 'Asia/Tokyo'); //金などと表示されます
echo $targetDay->i18nFormat('eeee', 'Asia/Tokyo'); //金曜日などと表示されます
$targetDay = Cake\I18n\FrozenTime::now()->modify('+7 days'); //日数差分

echo $targetDay->i18nFormat("yyyy-MM-dd'T'HH:mm:ssXXX", 'Asia/Tokyo'); 
//2021-11-27T19:57:49+09:00 こんな感じで表示されます

他に

$targetDay = Cake\I18n\FrozenTime::now();
//先月末日
echo $targetDay->modify('last day of last month')->i18nFormat('yyyy-MM-dd');
//来月末日
echo $targetDay->modify('last day of next month')->i18nFormat('yyyy-MM-dd');
//DateTime型の表記もOK
echo $targetDay->modify('last day of next month')->format('Y-m-d');

詳細は以下を参照

Formatting Dates and Times

ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. The ICU User Guide provides documentation on how to use ICU.