使用Javascript获取工作日

前端之家收集整理的这篇文章主要介绍了使用Javascript获取工作日前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在两个约会之间得到工作日.
示例:stdate = 28/10/2011 and endate = 04/11/2011.这应该是6个工作日,但它只给5天.
var workingdays = 0;
var weekday     = new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

while (stdate <= endate) 
{
    var day = weekday[stdate.getDay()];
    if(day != "Saturday" && day != "Sunday") 
    {
        workingdays++; 
    }
    console.log(weekday[stdate.getDay()]);
    stdate = new Date(stdate.getTime() + 86400000); 
}

控制台日志显示以下结果.

Friday
Saturday
Sunday
Sunday
Monday
Tuesday
Wednesday
Thursday

由于某种原因,周日出现两次.任何帮助,将不胜感激.

解决方法

夏令时.

由于你要在24小时内添加日期,所以在周日的第二天还不足以让你到达,因为那个特别的星期天有25个小时.

您应该添加一天而不是添加小时:

stdate = new Date(stdate.getFullYear(),stdate.getMonth(),stdate.getDate() + 1);

说明:当您使用超出范围的日期调用Date构造函数时,它将自动换行到下个月,即新日期(2010,9,32)为您提供11月的第一个月.

猜你在找的JavaScript相关文章