Skip to content

Instantly share code, notes, and snippets.

@dblock
Created July 13, 2011 22:49
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save dblock/1081513 to your computer and use it in GitHub Desktop.
Save dblock/1081513 to your computer and use it in GitHub Desktop.
get week of the year in JavaScript
function( d ) {
// Create a copy of this date object
var target = new Date(d.valueOf());
// ISO week date weeks start on monday
// so correct the day number
var dayNr = (d.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;
}
@dblock
Copy link
Author

dblock commented Sep 15, 2020

Anyone tried https://github.com/jsdocker/week-utils? Another library that includes this functionality? If nothing works I'll contribute this somewhere or make a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment