Estoy escribiendo un programa que se supone que solo calcula los meses entre 2 fechas dadas y devuelve el valor al programa. Por ejemplo, si tengo que calcular el número de meses entre el 1 de abril y el 30 de junio (que es un cuarto, 3 meses), y utilizar el siguiente código:Cómo calcular la diferencia ÚNICAMENTE en meses utilizando la API Joda de Java
DateTime start = new DateTime().withDate(2011, 4, 1);
DateTime end = new DateTime().withDate(2011, 6, 30);
Months mt = Months.monthsBetween(start, end);
int monthDiff = mt.getMonths();
El uso de este, todavía estoy recibiendo " 2 "como el número de meses, mientras que en realidad es" 3 "meses. Este es un ejemplo de lo que quiero. Solo estoy calculando el número de meses (es decir, desde el 1 ° del mes de inicio hasta la última fecha del mes final) y no necesito análisis adicionales como días, semanas, horas, etc. ¿Cómo lo logro?
Cualquier ayuda sería apreciada.
No puedo esperar para leer la respuesta de Jon Skeet, el Stackoverflow y fecha Experto en API;) – DaveFar
Creo que la respuesta del tiempo Yoda es correcta. Del 1 de abril al (pero sin incluir) el 30 de junio sería de casi 3 meses. Creo que ambas fechas tienen el mismo horario (00:00) y, por lo tanto, el 30 de junio no está realmente incluido en el rango. – extraneon
@extraneon - Eso es correcto. El período mostrado es de 2 meses, 4 semanas y 1 día. –