プロが教えるわが家の防犯対策術!

いつもお世話になります。
出勤簿を作っているのですが、
出勤した時間から退勤した時間が朝か昼か夜かが判別できるように
プログラムを考えたいのですが、ヒントになるような方法があれば
ご指導をお願い致します。
朝は8時 昼は13時 夜は19時の時間が含まれていれば、
判定として朝、昼、夜の表示ができるようにしたいのですが、
よくわかりません。

出勤時間 退勤時間  判定
06:30 12:30    朝
06:30 14:00 朝昼
10:00 14:00 昼
12:00 20:00 昼夜
17:00 22:00 夜

こんな感じで表示する方法を御指導下さい。
PHP4 MYSQLで記述しています。

A 回答 (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>";
}
?>
    • good
    • 0
この回答へのお礼

早々にご解答、ありがとうございます。
strtotimeに直してif分で処理をするようにすればよいのですね。

とても参考になりました。
リストボックスで出勤時間と退勤時間を指定して、
その都度判定をするようにしたいので、
この時間部分を変数に変えて使えばよいですね。

ありがとうございました。

お礼日時:2008/02/14 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!