title: In java.time, how is the result of adding a month calculated?
body: <p>In the JSR-310 <code>java.time</code> API in JDK 8, what are the rules for calculating the result of adding a month to a date. In particular, what happens when you add 1 month to a date like January 31st?</p>
  
  <pre><code>LocalDate initial = LocalDate.of(2012, 1, 31);  // 31st January 2012
  LocalDate result = initial.plusMonths(1);
  // what is the result?
  </code></pre>