簡體   English   中英

js按周數和年份獲取每周的第一天

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM