我正在使用函數將年份中給定週數的開始日期和結束日期返回給我。下面是函數:從週中開始考慮年份的開始和結束日期
function getWeekRange(week){
var d = new Date("Jan 01, " + $scope.today.getFullYear() + " 01:00:00");
var w = d.getTime() + 604800000 * (week);
var d1 = new Date(w);
var d2 = new Date(w + 518400000);
return {
startDate: d1,
endDate: d2,
};
}
我設置年動態,讓我們看一個例子,其中年是2015
。考慮到由0開始的週數,如果我用getWeekRange(0)
,我會收到以下結果:
{
startDate: Thu Jan 01 2015 01:00:00 GMT-0200 (BRST),
endDate: Wed Jan 07 2015 01:00:00 GMT-0200 (BRST)
}
的問題是,這個代碼不考慮2015年開始在星期四。爲getWeekRange(0)
正確的結果應該是:
{
startDate: Thu Jan 01 2015 01:00:00 GMT-0200 (BRST),
endDate: Sat Jan 03 2015 01:00:00 GMT-0200 (BRST)
}
和getWeekRange(1)
的結果應該是:
{
startDate: Sun Jan 04 2015 01:00:00 GMT-0200 (BRST),
endDate: Sat Jan 10 2015 01:00:00 GMT-0200 (BRST)
}
沒有人有線索?
- 編輯 -
我的問題是從this one不同,因爲我沒有在一年中的某一天,我只有一年(從0到51)的週數,而且我的案例認爲,如likeitlikeit所述,本年的第一週只是整週的一部分。
這不完全是重複的。但是,我認爲你對一週的理解是錯誤的。一週總是有7天,並且可能從一年到另一週。你所要求的實際上並不是一週,而只是一個特定年份的一部分。 – likeitlikeit