fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.time.*;
  7. import java.time.temporal.*;
  8. import java.time.temporal.ChronoUnit;
  9.  
  10. /* Name of the class has to be "Main" only if the class is public. */
  11. class Ideone
  12. {
  13. public static void main (String[] args) throws java.lang.Exception
  14. {
  15. LocalDate start = LocalDate.parse( "2016-01-31" );
  16. LocalDate stop = LocalDate.parse( "2016-02-01" );
  17.  
  18. LocalDate startAdjusted = start.with( TemporalAdjusters.firstDayOfMonth() );
  19. LocalDate stopAdjusted = stop.with( TemporalAdjusters.firstDayOfNextMonth() );
  20.  
  21. long calendarMonthsTouched = ChronoUnit.MONTHS.between( startAdjusted , stopAdjusted );
  22.  
  23. System.out.println("span: " + start.toString() + "/" + stop.toString() );
  24. System.out.println("calendarMonthsTouched: " + calendarMonthsTouched );
  25. }
  26. }
Success #stdin #stdout 0.09s 711680KB
stdin
Standard input is empty
stdout
span: 2016-01-31/2016-02-01
calendarMonthsTouched: 2