code: function icaltime_dayOfWeek() {
        var dowCacheKey = (this.year << 9) + (this.month << 5) + this.day;
        if (dowCacheKey in ICAL.Time._dowCache) {
          return ICAL.Time._dowCache[dowCacheKey];
        }
  
        // Using Zeller's algorithm
        var q = this.day;
        var m = this.month + (this.month < 3 ? 12 : 0);
        var Y = this.year - (this.month < 3 ? 1 : 0);
  
        var h = (q + Y + ICAL.helpers.trunc(((m + 1) * 26) / 10) + ICAL.helpers.trunc(Y / 4));
        /* istanbul ignore else */
        if (true /* gregorian */) {
          h += ICAL.helpers.trunc(Y / 100) * 6 + ICAL.helpers.trunc(Y / 400);
        } else {
          h += 5;
        }
  
        // Normalize to 1 = sunday
        h = ((h + 6) % 7) + 1;
        ICAL.Time._dowCache[dowCacheKey] = h;
        return h;
      }
docs: Calculate the day of week.
  @return {ICAL.Time.weekDay}