code: function(year, monthIndex, day) {
          // compute Chinese new year
          var validatedYear =
              this._validateYear(year, main.local.invalidyear);
          var packedDate =
              CHINESE_NEW_YEAR[validatedYear - CHINESE_NEW_YEAR[0]];
  
          var y = (packedDate >> 9) & 0xFFF;
          var m = (packedDate >> 5) & 0x0F;
          var d = packedDate & 0x1F;
          
          // find first Thrusday of the year
          var firstThursday;
          firstThursday = gregorianCalendar.newDate(y, m, d);
          firstThursday.add(4 - (firstThursday.dayOfWeek() || 7), 'd');
  
          // compute days from first Thursday
          var offset =
              this.toJD(year, monthIndex, day) - firstThursday.toJD();
          return 1 + Math.floor(offset / 7);
      }
docs: Determine the week of the year for a date - ISO 8601.
  @memberof ChineseCalendar
  @param year {CDate|number} The date to examine or the year to examine.
  @param [monthIndex] {number} The month index to examine.
  @param [day] {number} The day to examine.
  @return {number} The week of the year.
  @throws Error if an invalid date or a different calendar used.