code: function(date, iMonth) {
          // Bug in Safari 1.3, 2.0 (WebKit build < 420), Date.setMonth does not work consistently if iMonth is not 0-11
          if (YAHOO.env.ua.webkit && YAHOO.env.ua.webkit < 420 && (iMonth < 0 || iMonth > 11)) {
              var newDate = DateMath.add(date, DateMath.MONTH, iMonth-date.getMonth());
              date.setTime(newDate.getTime());
          } else {
              date.setMonth(iMonth);
          }
      }
docs: Sets the month on a Date object, taking into account year rollover if the month is less than 0 or greater than 11.
  The Date object passed in is modified. It should be cloned before passing it into this method if the original value needs to be maintained
  @method _setMonthOnDate
  @private
  @param {Date} date The Date object on which to set the month index
  @param {Number} iMonth The month index to set