最近項目中要用到這樣一個功能,計算N個工作日之後的日期,現在想到如下方案感覺可以解決問題。
這個說明下,工作日還是按照國家規定的來算的,就是周一到周五、法定假期前後調休需上班的都算作工作日,周六、周日和法定假日則不算工作日,法定假日和調休上班的日期可存在數據庫中進行維護。
代碼如下,感覺效率不算很高,如有更好的辦法,還請高人分享一下。
<?"Asia/Shanghai");
=(0, 0, 0,8,1,2013);
=10;
=((0, 0, 0,8,3,2013),(0, 0, 0,8,11,2013));
=((0, 0, 0,8,8,2013),(0, 0, 0,8,6,2013));
=("d",);
=0;
(<){
=(0, 0, 0,("m",),++,("Y",));
((, )){
++{
(("w",)!=0&&("w",)!=6&&!(, ++ ("Y-m-d",);
?>