我如何在周一和周日AngularJS之间获得本周的约会

时间:2015-11-27 18:47:59

标签: javascript angularjs

如何在星期一和星期日之间获取本周的日期

例如,本周之间的日期是:星期一= 2015年11月23日至星期日29/11/2015我希望每周,星期一和星期日之间得到日期

AngujarJS,JavaScript

1 个答案:

答案 0 :(得分:1)

vanilla 中,您可以在 Date 实例上设置星期几,

function setDay(d, day, week_starts_monday) {
    var c_day = d.getDay();
    if (week_starts_monday && c_day === 0)
        c_day = 7; // adjust so `0` is last week sunday, 7 is this week sunday
    d.setDate(d.getDate() - c_day + day);
    return d;
}

所以,本周一将是(今天是星期五27日)

var d = new Date;
setDay(d, 1); // Mon Nov 23 2015 18:51:45 GMT+0000 (GMT Standard Time)

7是下周日0是上一个星期日(如果是星期天,则是当天)。

setDay(d, 7); // Sun Nov 29 2015 18:51:45 GMT+0000 (GMT Standard Time)

您现在可以根据需要使用for

进行迭代
var i, d = new Date;
for (i = 1; i <= 7; ++i) {
    setDay(d, i);
    // do something with `d`
}

请注意

  • 跨越时区可能会导致意外结果。也许你想在UTC中这样做?
  • 如果您希望从星期日后退,则需要使用负数。