那么你需要编写一些函数,最重要的是,使用Date.parse将日期转换为ms并在日期之间进行数学运算。解决方案如下。查看jsFiddle获取工作代码。 demo
var days = 3;
var msPerDay = 1000*60*60*24;
var nextDay = function (day , dayAfter) {
return Date.parse(day) + (msPerDay*dayAfter);
}
var daysBetween = function (from, to) {
return ((Date.parse(to) - Date.parse(from))/msPerDay) - 1 ;
}
var d1 = new Date();
var d2 = new Date(nextDay(d1, days));
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";
var getInbetweenWeekdays = function() {
var weekDays = [];
for (var i = 0 ; i < daysBetween(d1, d2); i++) {
weekDays.push(weekday[new Date(nextDay(d1, i + 1)).getDay()]);
}
return weekDays;
}
alert(getInbetweenWeekdays());
细说这一点,添加适当的getter和setter方法你会没事的,但你的漂移。
如果您提供2013-08-28和2014-08-30,那么如何?它应该返回一个包含367项的数组吗? – 2014-08-28 13:50:02
但在** 8月28日至30日之间只有一天**。 ;-)您似乎已经知道如何将* date.getDay *转换为日期名称,因此只需逐步增加早期日期并获取每日的名称,直至到达最后日期。 – RobG 2014-08-28 13:52:34
@PabloMatíasGomez-我在评论OP,因此没有@ ...。 – RobG 2014-08-28 13:55:12