code: function(year, month, date) {
  
      // change value from to zero-based
      date--;
      year--;
  
      // combine year and month to get the actual year and month
      // this allows user to set a negative month number
      var months = year2months(year) + month;
      year = months2year(months);
      month = months - year2months(year);
      months -= month;
  
      var days = getNewYearInDays(months);
  
      var leap = isLeap(year);
      var nextYear = getNextYearInDays(months, leap);
      var mode = getYearMode(days, nextYear, leap);
  
      days += Math.ceil(month * 29.5);
      if(month > 1 && mode == 1 || month > 2) days += mode;
      if(month > 5) days += leap;
  
      days += date;
  
      return days - DISTANCE;
    }
docs: /* month - zero-based