この時間の比較もしょっちゅうでてくるですね!
細かいパーツを忘れるんで、記載しておきます。
new DateTime(); //実際にはこんなカタチですね! new DateTime(); $date = new DateTime();
いらない場合もあるかもしれませんが、一応記載しておくよ。自分これよく忘れる。
//上記の今日の日付を東京のタイムゾーンにセット $date->setTimeZone(new DateTimeZone('Asia/Tokyo'));
//上の$dateの時間の形式を合わせるのはこんな感じ $date->format('Y-m-d'); //日付の形式を指定「年月日」のみ $today = $date->format('Y-m-d'); //日付の形式を指定「年月日+時分秒」 $today = $date->format('Y-m-d H:i:s');
strtotime //英文形式の日付のままだと比較できない?感じなので、Unixのタイムスタンプに変換 strtotime($eventday)
いろいろやった結果、以下のような記述になる
$eventday = '2014-08-23';//この日が未来なのか過去なのかを比較して $date = new DateTime(); $date->setTimeZone(new DateTimeZone('Asia/Tokyo')); $today = $date->format('Y-m-d');//$eventdayの形式とフォーマットをあわせてます。 if (strtotime($eventday) > strtotime($today)) { echo"みらいなのですよ";//未来のときの処理を記述 }elseif(strtotime($eventday) < strtotime($today)){ echo"かこなのよ";//過去のときの処理を記述 }else{ echo"それ以外って、いっしょってこと?";//今日のときの処理を記述 }