`
javatoyou
  • 浏览: 1016440 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用JS计算两个日期之间有多少个休息日

 
阅读更多
<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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics