-2

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];
}
4

1 に答える 1

0

コードが示すように、月曜日から始まる週の年の最初の週は、木曜日が含まれる最初の週です。

週が日曜日で始まる場合、最初の週は水曜日を含む最初の週になります。

年の開始日が木曜日から土曜日の場合、日曜日までは前年の最後の週になります。年の開始日が月曜日、火曜日、または水曜日の場合、前年の最後の日曜日が今年の最初の週の始まりです。

于 2012-09-11T03:47:41.247 に答える