質問: データベースに入っている時間と今の時間を比較して、 条件ごとに表示を変更したいです。 今データベースに 種別 datetime 0000-00-00 00:00:00 の形で 時間の取得が出来ていて、取得した時間の表示と今の時間と比較をするところまで 出来たのですが、条件ごとに表示の変更をすることが出来ずに困っています。 データベースと現在時刻との比較`php diff($day2); ?> format('%y年%m月%d日%H時間%i分%s秒'); ?>` timeにデータベースの時間が入っています。 比較した時間までは表示されて出来ているため、 条件を書いていけば出来ると思ったのですが、 うまくいかないためご教授いただきたいです。 希望としては、データベースの時間が、今の時間と比べて ・59分より前なら、○分前と表示(例:1分前、2分前) ・1時間経っていれば1時間前(例:1時間前、2時間前) ・24時間立っていれば、1日前(1日前、2日前) ・5日過ぎていれば・・・ という風にどんどん条件を追加したいと考えています。
回答: 例えばですが、下記の形で如何でしょうか? ``` diff($now); if($interval->format('%a')>=5){ echo "5日以上前"; }elseif ($interval->format('%d')>=1) { echo $interval->format('%d')."日前"; }elseif($interval->format('%h')>=1){ echo $interval->format('%h')."時間前"; }else{ echo $interval->format('%i')."分前"; } echo nl2br("\n"); } ?> ``` > > 出力結果 > > > 59分前 1時間前 1日前 5日以上前