fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.time.*;
  8. import java.time.format.*;
  9. import java.time.temporal.*;
  10.  
  11. /* Name of the class has to be "Main" only if the class is public. */
  12. class Ideone
  13. {
  14. public static void main (String[] args) throws java.lang.Exception
  15. {
  16.  
  17. // Shows how `ChronoUnit.between` calculates with the Half-Open approach where the beginning is inclusive while the ending is exclusive.
  18.  
  19. LocalDate start = LocalDate.of( 2017 , Month.JANUARY , 1 );
  20. LocalDate stop = LocalDate.of( 2017 , Month.FEBRUARY , 1 ); // Runs up to, but does not include, first day of following month.
  21. long daysInJanuary = ChronoUnit.DAYS.between( start , stop ); // Returns 31, not 32.
  22.  
  23. System.out.println( "start.toString(): " + start );
  24. System.out.println( "stop.toString(): " + stop );
  25. System.out.println( "daysInJanuary: " + daysInJanuary );
  26.  
  27. }
  28. }
Success #stdin #stdout 0.08s 711680KB
stdin
Standard input is empty
stdout
start.toString(): 2017-01-01
stop.toString(): 2017-02-01
daysInJanuary: 31