code: public static Months monthsBetween(ReadableInstant start, ReadableInstant end) {
          int amount = BaseSingleFieldPeriod.between(start, end, DurationFieldType.months());
          return Months.months(amount);
      }
docs: Creates a <code>Months</code> representing the number of whole months
  between the two specified datetimes. This method correctly handles
  any daylight savings time changes that may occur during the interval.
  <p>
  This method calculates by adding months to the start date until the result
  is past the end date. As such, a period from the end of a "long" month to
  the end of a "short" month is counted as a whole month.
  
  @param start  the start instant, must not be null
  @param end  the end instant, must not be null
  @return the period in months
  @throws IllegalArgumentException if the instants are null or invalid