如何获取两个日期之间的天数?
例如:
11/04/2014 - > 13/04/2014
我想要这个结果:
星期五,星期六,星期日。
有可能吗?
答案 0 :(得分:0)
var from = new Date(2014, 3, 11);
var to = new Date(2014, 3, 13);
var DAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var d = from;
while (d <= to) {
alert(DAYS[d.getDay()]);
d = new Date(d.getTime() + (24 * 60 * 60 * 1000));
}
答案 1 :(得分:0)
d.setDate(d.getDate() + 1)
可能比添加24
小时更好,以避免在跨越 DST 边界时出现问题。
function days(from, to) {
var d = new Date(from),
a = [],
y = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
while (d < to) {
a.push(y[d.getDay()]);
d.setDate(d.getDate() + 1);
}
if (d.getDay() === to.getDay()) // include last day
a.push(y[d.getDay()]);
return a;
}
// ex. usage
var from = new Date(2014, 4 - 1, 11),
to = new Date(2014, 4 - 1, 13);
days(from, to); // ["Friday", "Saturday", "Sunday"]