[已解决问题] js 怎樣得到兩個日期之間得假期數量[假期為星期六和星期天]
提问时间: 2008-02-14 17:48
悬赏分:50 浏览:269 次
js 怎樣得到兩個日期之間得假期數量[假期為星期六和星期天]
提问者:Andy zhang - 菜鸟二级
最佳答案
包含两头的日期计算在内 :

<script type="text/javascript">

 function weekendBetween(dtStart, dtEnd) {    
     if (typeof dtEnd == 'string' )  
         dtEnd = StringToDate(dtEnd);  
     if (typeof dtStart == 'string' )   
         dtStart = StringToDate(dtStart);  
 
     var days =  parseInt((dtEnd - dtStart) / 86400000);  
     var adds = 0;
     var m = (days+ dtStart.getDay() +1) % 7;
     if(m > 0)
        adds = m;
     if(m >2)
        adds = 2;
     
     var redu = 0
     if(dtStart.getDay() > 0)
        redu = 2;
     if(dtStart.getDay() ==1)
        redu =1;
        
     var subtotal = parseInt((days + dtStart.getDay() +1)/7)*2;
    return subtotal - redu + adds;

 } 
  function StringToDate(DateStr)  
 {   
     var converted = Date.parse(DateStr);  
     var myDate = new Date(converted);  
    if (isNaN(myDate))  
     {   
         var arys= DateStr.split('-');  
         myDate = new Date(arys[0],arys[1],arys[2]);  
     }  
     return myDate;  
 }


alert("2-1~~~~2-18");
alert(weekendBetween(new Date(2008,2,1), new Date(2008,2,18)));

alert("2-1~~~~2-15,  字符型参数");
alert(weekendBetween("2008-2-1","2008-2-15"));

alert("2-1~~~~2-16,  字符型参数");
alert(weekendBetween("2008-2-1","2008-2-16"));

alert("2-1~~~~2-17,  字符型参数");
alert(weekendBetween("2008-2-1","2008-2-17"));

alert("2-3~~~~2-16,  字符型参数");
alert(weekendBetween("2008-2-3","2008-2-16"));

</script>
2/14/2008 11:49:24 PM 回答者:沙加


提问者对于答案的评价:不過還是要謝謝你拉!
评论
3个月前   Andy zhang :
這樣的計算假期好像是星期五和星期六哦。不是星期六和星期天哦.
但是還是非常感謝你。
3个月前   Andy zhang :
alert(parseInt(weekendBetween("2008-4-5","2008-4-6")))
只有一個
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除