[英]js Get first day of week by week number and year
你能告訴我一周一周的第一天最佳方式是什么?
我使用這段代碼回答
function getDateOfWeek(week, y) {
var d = new Date("Jan 01, "+y+" 01:00:00");
var w = d.getTime() + 604800000 * (week-1);
var n1 = new Date(w);
var n2 = new Date(w + 518400000);
return {
dateFrom:n1,
dateTo: n2
}
}
getDateOfWeek(1,2017)返回日期: 01.01.2017,08.01.2017
但需要: 02.01.2017,08.01.2017
getDateOfWeek(53,2016)返回日期: 2016年12月30日,05.01.2017
但需要: 2016年12月26日,2017年1月1日
你能知道如何解決它嗎?
謝謝。
您需要抵消day of the week
function getDateOfWeek(week, y) { var d = new Date("Jan 01, " + y + " 01:00:00"); var dayMs = (24 * 60 * 60 * 1000); var offSetTimeStart = dayMs * (d.getDay() - 1); var w = d.getTime() + 604800000 * (week - 1) - offSetTimeStart; //reducing the offset here var n1 = new Date(w); var n2 = new Date(w + 518400000); return { dateFrom: n1, dateTo: n2 } } console.log(getDateOfWeek(1, 2017)); console.log(getDateOfWeek(53, 2016));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.