code: function(date, ymd, offset, period) {
  			if (!this.hasYearZero && (period === 'y' || period === 'm')) {
  				if (ymd[0] === 0 || // In year zero
  						(date.year() > 0) !== (ymd[0] > 0)) { // Crossed year zero
  					var adj = {y: [1, 1, 'y'], m: [1, this.monthsInYear(-1), 'm'],
  						w: [this.daysInWeek(), this.daysInYear(-1), 'd'],
  						d: [1, this.daysInYear(-1), 'd']}[period];
  					var dir = (offset < 0 ? -1 : +1);
  					ymd = this._add(date, offset * adj[0] + dir * adj[1], adj[2]);
  				}
  			}
  			return date.date(ymd[0], ymd[1], ymd[2]);
  		}
docs: Correct a candidate date after adding period(s) to a date.
  Handle no year zero if necessary.
  @memberof BaseCalendar
  @private
  @param date {CDate} The starting date.
  @param ymd {number[]} The added date.
  @param offset {number} The number of periods to adjust by.
  @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.
  @return {CDate} The updated date.