В API JSR-310 java.time
в JDK 8, каковы правила для вычисления результата добавления месяца к дате. В частности, что произойдет, если вы добавите 1 месяц к дате, подобной 31 января?
LocalDate initial = LocalDate.of(2012, 1, 31); // 31st January 2012
LocalDate result = initial.plusMonths(1);
// what is the result?