閲覧数:743
投稿日:2020-05-28
更新日:2020-06-03
1日は、厳密に24時間の差で判定している
・下記は、24時間経過していないため、同日扱い
2020-05-27 18:35:18
2020-05-28 16:17:22
このコードは×。
正確にdiff出来ない月がある
→ http://phpcode.w4c.work/php/status/214
コード
$time1 = new DateTime('2019-04-01'); $time2 = new DateTime('2019-04-25 19:23:43'); $diff = $time1->diff($time2); if($diff->y>0): echo '<p>', $time2->format ('Y年n月d日'), '</p>'; endif; if($diff->m>0): echo '<p>', $time2->format ('n月d日'), '</p>'; endif; if($diff->d>0): echo '<p>', $time2->format ('d日'), '</p>'; endif;
結果
<p>25日</p>
MySQLのdatetime型カラムより取得した「文字列」を、(先頭0なしの)年月日時分秒で表示
日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を24時間以内ではなく数値で判定