code: function(days) {
  
      days += DISTANCE;
  
      var months = days2yearsInMonths(days);
      var currentYear = getNewYearInDays(months);
      var nextYear;
  
      if(currentYear > days) {
        nextYear = currentYear;
        months = days2yearsInMonths(days - 7);
        currentYear = getNewYearInDays(months);
      }
      days -= currentYear;
      var year = months2year(months);
      var leap = isLeap(year);
      nextYear = nextYear || getNextYearInDays(months, leap);
      var mode = getYearMode(currentYear, nextYear, leap);
  
      if(days > 87) {
        days -= mode;
      } else if(days > 58 && mode == 1) {
        days -= 0.5;
      }
  
      if(days > 176) days -= leap;
  
      var month = Math.floor(days / 29.5);
      var date = Math.floor(days % 29.5);
  
      // change value back from zero-based
      year++;
      date++;
  
      return {
        year: year,
        month: month,
        date: date
      }
    }
docs: /* ================ Conversion ================ /* days since 1/1/1970 zero-based