閲覧数:1217
投稿日:2020-04-10
更新日:2020-04-10
MySQLのdatetime型カラムより取得した「文字列」を、(先頭0なしの)年月日時分秒で表示
コード
//従来の手法
$target = '2020-04-04 21:37:29';
echo date("Y年n月j日 H時i分s秒",strtotime($target)); //'2020年4月4日 21時37分29秒'
//2038年問題を考慮すると、下記の方が良い
$target = '2020-04-04 21:37:29';
$dateTimeObj = new DateTime($target);
$result = $dateTimeObj->format('Y年n月j日 H時i分s秒');
echo $result; //'2020年4月4日 21時37分29秒'
結果
'2020年4月4日 21時37分29秒' '2020年4月4日 21時37分29秒'
MySQLのdatetime型カラムに格納している値と比較して、24時間以内かどうかを判定
日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を厳密に直近24時間以内で判定