如何从周数和年份获得一周的第一个日期和最后一个日期?

bal*_*php 6 javascript jquery

在JavaScript中,我想获得本周的第一个日期和星期的最后日期,仅按周数和年份.

例如,如果我输入的是:

2(week),2012

然后我的输出应该是:

2012-01-08 and 2012-01-14

bar*_*iir 8

试试这个:

var year = 2012;
var week = 2;
var d = new Date("Jan 01, " + year + " 01:00:00");
var w = d.getTime() + 604800000 * (week - 1);
var n1 = new Date(w);
var n2 = new Date(w + 518400000)

console.log(n1);
console.log(n2);
Run Code Online (Sandbox Code Playgroud)

n1包含一周的第一天
n2包含一周的最后一天

至于常数:
604800000是一周,以毫秒为单位
518400000是六天

  • 不正确,n1不一定是星期一,而n2不一定是星期日. (4认同)

小智 5

如果一年中的第一天不是周日(或周一)结果不正确,那么对@bardiir的回答稍有改动.你应该减去第一天的数量.

更改了代码

firstDay = new Date(2015, 0, 1).getDay();
console.log(firstDay);
var year = 2015;
var week = 67;
var d = new Date("Jan 01, " + year + " 01:00:00");
var w = d.getTime() - (3600000 * 24 * (firstDay - 1)) + 604800000 * (week - 1)
var n1 = new Date(w);
var n2 = new Date(w + 518400000)

console.log(n1);
console.log(n2);
Run Code Online (Sandbox Code Playgroud)

如果您希望第一个是星期日,请将(firstDay-1)更改为