javascriptで日曜日が週の最初の日である年の週番号を取得する方法、また固定年番号?
たとえば2012-12-31
、 と同じ年番号と週番号を持つ必要があり2013-01-01
ます。
これを行うためのスニペットを見つけましたが、週は常に日曜日ではなく月曜日から始まります。修正方法は?
exports.getYearAndWeek = function(d) {
// Copy date so don't modify original
d = new Date(d);
d.setHours(0,0,0);
// Set to nearest Thursday: current date + 4 - current day number
// Make Sunday's day number 7
d.setDate(d.getDate() + 4 - (d.getDay()||7));
// Get first day of year
var yearStart = new Date(d.getFullYear(),0,1);
// Calculate full weeks to nearest Thursday
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7)
// Return array of year and week number
return [d.getFullYear(), weekNo];
}