• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ある時間からある時間の間に指定した時間があるかどうかを調べる方法)

ある時間からある時間の間に指定した時間があるかどうかを調べる方法

このQ&Aのポイント
  • 出勤簿を作る際に、指定した時間が朝か昼か夜か判別できるようなプログラムの作り方を教えてください。
  • 朝は8時、昼は13時、夜は19時の時間が含まれていれば、判定として朝、昼、夜の表示ができるようにしたいです。
  • 出勤時間と退勤時間のデータが与えられた場合、それが朝か昼か夜かを判定する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.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>"; } ?>

nicolemen
質問者

お礼

早々にご解答、ありがとうございます。 strtotimeに直してif分で処理をするようにすればよいのですね。 とても参考になりました。 リストボックスで出勤時間と退勤時間を指定して、 その都度判定をするようにしたいので、 この時間部分を変数に変えて使えばよいですね。 ありがとうございました。