我正在寻找一种简单的方法来计算使用jquery / javascript给出一周和一年的日历天数。
示例:第18周,2012年将产生一个以星期日开始的列表
2012-04-29
2012-04-30
2012-05-01
2012-05-02
2012-05-03
2012-05-04
2012-05-05
感谢
答案 0 :(得分:3)
如果您从this question重新制作代码,您将获得以下内容:
function getDays(year, week) {
var j10 = new Date(year, 0, 10, 12, 0, 0),
j4 = new Date(year, 0, 4, 12, 0, 0),
mon = j4.getTime() - j10.getDay() * 86400000,
result = [];
for (var i = -1; i < 6; i++) {
result.push(new Date(mon + ((week - 1) * 7 + i) * 86400000));
}
return result;
}
答案 1 :(得分:1)
您需要决定一周开始的哪一天 - 您指定星期日。 (ISO星期一开始)。
通过将日期设置为第一天+(周* 7) - 7 来查找一年中任何一周的第一天。
var year = new Date()。getFullYear(), firstDay =新日期(年,0,1), wd = firstDay.getDay();
firstDay.setDate(1 +( - 1 *(wd%7)));
如果(WD→3){ firstDay.setDate(firstDay.getDate()+ 7); } var week4 = new Date(firstDay); week4.setDate(week4.getDate()+(4 * 7) - 7);
警报(week4);
返回值:(日期)
Sun 2013年1月20日00:00:00 GMT-0500(东部标准时间)
答案 2 :(得分:0)
jquery / javascript-计算本周的天数给出周数和年份数
var years = $('#yr').val();
var weeks = $('#weekNo').val();
var d = new Date(years, 0, 1);
var dayNum = d.getDay();
var diff = --weeks * 7;
if (!dayNum || dayNum > 4) {
diff += 7;
}
d.setDate(d.getDate() - d.getDay() + ++diff);
$('#result').val(d);
[演示] [1]:https://jsfiddle.net/2bhLw084/