나는 왜 아래 코드가 총 일수를 계산해야하는지 이해할 수없는 일부 날짜에는 정상적으로 작동하는이 코드를 가지고 있습니다. leavefrom = 2014-04-21과 leaveto = 2014-05-02를 선택하면 총 8 일이지만 9 일 9 일이어야합니다. 여기 날짜 계산 총 일수
는 달력입니다 : -function total_day($leavefrom, $leaveto){
$start_date=strtotime($leavefrom);
$cur_day=$start_date;
$end_day=strtotime($leaveto);
$count=0;
$holiday=array("2014-05-01"=>"Labour Day", "2014-08-31"=>"Independence Day", "2014-12-25"=>"Christmas");
while(1){
//echo date("Y/m/d", $cur_day)."<br/>";
$cur_day=$cur_day +(3600*24);
//echo $count."S--".date("Y-m-d", $cur_day)."<-----E--".$end_day;
$day_of_week=date('w', $cur_day);
//echo "day_of_week-----".$day_of_week."<br/>";
if ($day_of_week == 0 || $day_of_week == 6) {
//No Operation
}else if(array_key_exists(date("Y-m-d", $cur_day), $holiday)){
//echo "Holiday because of ".$holiday[date("Y-m-d", $cur_day)];
}else{
$count++;
}
//echo "Total day--".$count."<br/><br/>";
if(($cur_day==($end_day+(3600*24)))||($cur_day>$end_day)){
break;
}
}
//$count = $count + 1;
return $count;
}
$totaldays = total_day($leavefrom, $leaveto);
왜 표준'날짜 시간 :: diff' (또는'date_diff')를 사용하지 : 그럼 당신은이를 사용할 수 있습니까? http://www.php.net/manual/en/datetime.diff.php –
@TravelingTechGuy 아니요, 시작일부터 종료일까지 계산해야합니다. 만약 우리가 그것을 계산한다면, 그것은 실제로 다른 가치를 생산할 것입니다. – Furry