• 締切済み

日時の比較

テーブル内に、PHPで整形した「07-11-10 11:35」といった形で日時を挿入してあります。 このテーブルから別のPHPで検索を行う際、PHP側で現在の日時を同じ形で取得して、「PHP側で取得した日時より未来のものだけ抽出する」という処理を行いたいのですが、どうすればいいでしょうか? 日付だけならlikeで抽出できるのですが、時間まで一緒に厳密に比較する方法が知りたいのです。 ////////////////////////////////////////////////////////// 例:PHP側で今日の日時を取得→ 07-11-12 10:35 07-03-02 20:31 08-04-06 03:17 07-06-30 17:52 07-11-12 06:14 07-12-01 09:23 08-01-18 23:09 この中から、取得した日時より未来にあたる 08-04-06 03:17 07-12-01 09:23 08-01-18 23:09 だけを抽出する。

みんなの回答

  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

$hoge = array ( "07-03-02 20:31", "08-04-06 03:17", "07-06-30 17:52", "07-11-12 06:14", "07-12-01 09:23", "08-01-18 23:09" ); for ( $i=0;$i<=count($hoge)-1;$i++){ $hoge_split = mb_split(" ",$hoge[$i]); // $hoge_date = mb_split("-",$hoge_split[0]); // yy-mm-dd $hoge_time = mb_split(":",$hoge_split[1]); // hh:ii:ss $unix_time = mktime ( $hoge_time[0] ,$hoge_time[1] ,$hoge_time[2] ,$hoge_date[1],$hoge_date[2] ,$hoge_date[0] ); $now_time = mktime ( date("H") ,date("i")+1 ,date("s") ,date("m") ,date("d") ,date("Y") ); if ( $now_time < $unix_time ){ $hogehoge = date ('y-m-d H:i', $unix_time); } //if } データと現在時間をUNIXタイムに変換して比較してます。

rusya
質問者

お礼

回答ありがとうございます。 少々違う方法でですが何とかできました。

関連するQ&A