- ベストアンサー
ある時間からある時間の間に指定した時間があるかどうかを調べる方法
- 出勤簿を作る際に、指定した時間が朝か昼か夜か判別できるようなプログラムの作り方を教えてください。
- 朝は8時、昼は13時、夜は19時の時間が含まれていれば、判定として朝、昼、夜の表示ができるようにしたいです。
- 出勤時間と退勤時間のデータが与えられた場合、それが朝か昼か夜かを判定する方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
たんに文字列を比較演算子で比較すればよさそうな気がしますが 汎用性も考えてstrtotimeしてみました。 <? $morning=strtotime("08:00"); $midday= strtotime("13:00"); $night= strtotime("19:00"); $times=Array(Array("start"=>"06:30","end"=>"12:30") ,Array("start"=>"06:30","end"=>"14:00") ,Array("start"=>"10:00","end"=>"14:00") ,Array("start"=>"12:00","end"=>"20:00") ,Array("start"=>"17:00","end"=>"22:00") ); foreach($times as $array){ $str=""; if (strtotime($array["start"])<=$morning and strtotime($array["end"])>=$morning) $str.="朝"; if (strtotime($array["start"])<=$midday and strtotime($array["end"])>=$midday) $str.="昼"; if (strtotime($array["start"])<=$night and strtotime($array["end"])>=$night) $str.="夜"; print "{$array["start"]} {$array["end"]} {$str}<br>"; } ?>
お礼
早々にご解答、ありがとうございます。 strtotimeに直してif分で処理をするようにすればよいのですね。 とても参考になりました。 リストボックスで出勤時間と退勤時間を指定して、 その都度判定をするようにしたいので、 この時間部分を変数に変えて使えばよいですね。 ありがとうございました。