ISO 週の日付、週の番号の取得

/** * Get the ISO week date week number
found at http://www.domino-weblog.nl/weblogs/domblog.nsf/d6plinks/FLIN-7WMGPX
*/
Date.prototype.getWeek = function () {
// Create a copy of this date object
var target = new Date(this.valueOf());
// ISO week date weeks start on monday
// so correct the day number
var dayNr = (this.getDay() + 6) % 7;
// Set the target to the thursday of this week so the
// target date is in the right year
target.setDate(target.getDate() - dayNr + 3);
// ISO 8601 states that week 1 is the week
// with january 4th in it
var jan4 = new Date(target.getFullYear(), 0, 4);
// Number of days between target date and january 4th
var dayDiff = (target - jan4) / 86400000;
// Calculate week number: Week 1 (january 4th) plus the
// number of weeks between target date and january 4th
var weekNr = 1 + Math.ceil(dayDiff / 7);
return weekNr;
}





Date オブジェクトを拡張して週の番号を取得

JavaScript (Client)
katoman
August 19, 2015 at 12:33 PM
Rating
0





No comments yetLogin first to comment...