如何在javascript中计算周和月的日期范围?

时间:2010-07-18 09:02:20

标签: javascript date range

有人可以用JavaScript指导我的日期范围吗?

我想计算从今天开始的一周和一个月的日期范围;即,如果今天是“2010年7月18日”,本周的范围应该是“11/07/2010 - 8/07/2010” 这个月应该是“01/07/2010 - 18/07/2010”。

感谢您的提前指导。

3 个答案:

答案 0 :(得分:5)

试试这个:

var now = new Date();
var nextWeek = new Date(new Date(now).setDate(now.getDate() + 7));
var nextMonth = new Date(new Date(now).setMonth(now.getMonth() + 1));

答案 1 :(得分:1)

我建议你查看优秀的datejs库,它有许多有用的函数来操作日期。

答案 2 :(得分:1)

这是vanilla JS函数,它将日期(或空白)作为输入并返回一个具有该周的开始和结束日期的对象(假设星期一是一周的第一天:))

function rangeWeek (dateStr) {
    if (!dateStr) dateStr = new Date().getTime();
    var dt = new Date(dateStr);
    dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
    dt = new Date(dt.getTime() - (dt.getDay() > 0 ? (dt.getDay() - 1) * 1000 * 60 * 60 * 24 : 6 * 1000 * 60 * 60 * 24));
    return { start: dt, end: new Date(dt.getTime() + 1000 * 60 * 60 * 24 * 7 - 1) };
}

console.log(rangeWeek());
console.log(rangeWeek('2013/9/1'));

您可以在周日至周六进行相应更改。