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.temporal.*;
  9. import java.time.format.*;
  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. LocalDate target = LocalDate.of( 2017 , Month.JANUARY , 1 );
  17. LocalDate ld = target.with( TemporalAdjusters.previousOrSame( DayOfWeek.MONDAY ) );
  18.  
  19. LocalDate nextOrSameSunday = target.with( TemporalAdjusters.nextOrSame( DayOfWeek.SUNDAY ) );
  20.  
  21. System.out.println( "target: " + target + " | ld: " + ld + " | nextOrSameSunday: " + nextOrSameSunday );
  22.  
  23. ZoneId z = ZoneId.of( "America/Montreal" );
  24. DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate( FormatStyle.FULL ).withLocale( Locale.CANADA );
  25. System.out.println( "target: " + target.format( f ) + " | ld: " + ld.format( f ) );
  26. }
  27. }
Success #stdin #stdout 0.12s 712192KB
stdin
Standard input is empty
stdout
target: 2017-01-01 | ld: 2016-12-26 | nextOrSameSunday: 2017-01-01
target: Sunday, January 1, 2017 | ld: Monday, December 26, 2016