01.
function
calDate(
$start
,
$end
){
02.
$start
=
new
DateTime(
$start
);
03.
$end
=
new
DateTime(
$end
);
04.
$end
->modify(
'+1 day'
);
05.
$interval
=
$end
->diff(
$start
);
06.
$days
=
$interval
->days;
07.
$period
=
new
DatePeriod(
$start
,
new
DateInterval(
'P1D'
),
$end
);
08.
$holidays
=
array
(
'2012-09-07'
);
09.
10.
foreach
(
$period
as
$dt
) {
11.
$curr
=
$dt
->format(
'D'
);
12.
13.
14.
if
(in_array(
$dt
->format(
'Y-m-d'
),
$holidays
)) {
15.
$days
--;
16.
}
17.
18.
19.
if
(
$curr
==
'Sat'
||
$curr
==
'Sun'
) {
20.
$days
--;
21.
}
22.
}
23.
return
$days
;
24.
}