function getWeekNumber(d) {
  // Copy date so don't modify original
  const _d = new Date(Date.UTC(d.year, d.month, d.date));
  // Set to nearest Thursday: current date + 4 - current day number
  // Make Sunday's day number 7
  _d.setUTCDate(_d.getUTCDate() + 4 - (_d.getUTCDay() || 7));
  // Get first day of year
  const yearStart = new Date(Date.UTC(_d.getUTCFullYear(), 0, 1));
  // Calculate full weeks to nearest Thursday
  return Math.ceil(((_d - yearStart) / 86400000 + 1) / 7);
}
https://stackoverflow.com/questions/6117814/get-week-of-year-in-javascript-like-in-php
For a given date, get the ISO week number
Based on information at:
   http://www.merlyn.demon.co.uk/weekcalc.htm#WNR

Algorithm is to find nearest thursday, it's year
is the year of the week number. Then get weeks
between that date and the first day of that year.

Note that dates in one year can be weeks of previous
or next year, overlap is up to 3 days.

e.g. 2014/12/29 is Monday in week  1 of 2015
     2012/1/1   is Sunday in week 52 of 2011

@param {number} d.year year of date
@param {number} d.month month of date
@param {number} d.date date of date
@returns {number}