code: public static int subtractMonths(int date0, int date1) {
  		if (date0 < date1) {
  			return -subtractMonths(date1, date0);
  		}
  		// Start with an estimate.
  		// Since no month has more than 31 days, the estimate is <= the true value.
  		int m = (date0 - date1) / 31;
  		for (;;) {
  			int date2 = addMonths(date1, m);
  			if (date2 >= date0) {
  				return m;
  			}
  			int date3 = addMonths(date1, m + 1);
  			if (date3 > date0) {
  				return m;
  			}
  			++m;
  		}
  	}
docs: Finds the number of months between two dates, each represented as the
  number of days since the epoch.