在两个日期之间获取Days名称(javascript)

时间:2014-04-13 11:10:58

标签: javascript jquery

如何获取两个日期之间的天数? 例如:
11/04/2014 - > 13/04/2014
我想要这个结果:
星期五,星期六,星期日。

有可能吗?

2 个答案:

答案 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"]