閲覧数:875
投稿日: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時間以内で判定