Skip to content

Instantly share code, notes, and snippets.

@nolstedt
Forked from tborychowski/get_week_number.js
Last active August 29, 2015 14:22
Show Gist options
  • Save nolstedt/648da2901f74b4cacc85 to your computer and use it in GitHub Desktop.
Save nolstedt/648da2901f74b4cacc85 to your computer and use it in GitHub Desktop.
//Returns ISO 8601 week number and year
Date.prototype.getFullWeek = function(){
var jan1, w, d = new Date(this);
d.setDate(d.getDate()+4-(d.getDay()||7)); // Set to nearest Thursday: current date + 4 - current day number, make Sunday's day number 7
jan1 = new Date(d.getFullYear(),0,1); // Get first day of year
w = Math.ceil((((d-jan1)/86400000)+1)/7); // Calculate full weeks to nearest Thursday
return {y: d.getFullYear(), w: w };
};
//Returns ISO 8601 week number
Date.prototype.getWeek = function(){
return this.getFullWeek().w;
};
var getWeeksInYear = function(y){
return new Date(y,11,28).getFullWeek().w;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment