我如何知道JavaScript的周数和年份来计算日期?对于第20周和2013年以获得5/16/2013,我正在尝试这样做:
Date.prototype.dayofYear = function() { var d = new Date(this.getFullYear(), 0, 0); return Math.floor((enter code here this - d) / 8.64e + 7); }
function getDateOfWeek(w, y) { var d = (1 + (w - 1) * 7); // 1st of January + 7 days for each week
return new Date(y, 0, d); }
这使用简单的周定义,即2013年的第20周是5月14日。
计算给定ISO8601周的开始日期(始终为星期一)
function getDateOfISOWeek(w, y) { var simple = new Date(y, 0, 1 + (w - 1) * 7); var dow = simple.getDay(); var ISOweekStart = simple; if (dow <= 4) ISOweekStart.setDate(simple.getDate() - simple.getDay() + 1); else ISOweekStart.setDate(simple.getDate() + 8 - simple.getDay()); return ISOweekStart; }