/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.*;
import java.time.temporal.*;
import java.time.format.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
LocalDate target = LocalDate.of( 2017 , Month.JANUARY , 1 );
LocalDate ld = target.with( TemporalAdjusters.previousOrSame( DayOfWeek.MONDAY ) );
LocalDate nextOrSameSunday = target.with( TemporalAdjusters.nextOrSame( DayOfWeek.SUNDAY ) );
System.
out.
println( "target: " + target
+ " | ld: " + ld
+ " | nextOrSameSunday: " + nextOrSameSunday
);
ZoneId z = ZoneId.of( "America/Montreal" );
DateTimeFormatter f
= DateTimeFormatter.
ofLocalizedDate( FormatStyle.
FULL ).
withLocale( Locale.
CANADA ); System.
out.
println( "target: " + target.
format( f
) + " | ld: " + ld.
format( f
) ); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLio7CmltcG9ydCBqYXZhLnRpbWUudGVtcG9yYWwuKjsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CiAgICAgICAgTG9jYWxEYXRlIHRhcmdldCA9IExvY2FsRGF0ZS5vZiggMjAxNyAsIE1vbnRoLkpBTlVBUlkgLCAxICk7CiAgICAgICAgTG9jYWxEYXRlIGxkID0gdGFyZ2V0LndpdGgoIFRlbXBvcmFsQWRqdXN0ZXJzLnByZXZpb3VzT3JTYW1lKCBEYXlPZldlZWsuTU9OREFZICkgKTsKCiAgICAgICAgTG9jYWxEYXRlIG5leHRPclNhbWVTdW5kYXkgPSB0YXJnZXQud2l0aCggVGVtcG9yYWxBZGp1c3RlcnMubmV4dE9yU2FtZSggRGF5T2ZXZWVrLlNVTkRBWSApICk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInRhcmdldDogIiArIHRhcmdldCArICIgfCBsZDogIiArIGxkICArICIgfCBuZXh0T3JTYW1lU3VuZGF5OiAiICsgbmV4dE9yU2FtZVN1bmRheSApOwoKICAgICAgICBab25lSWQgeiA9IFpvbmVJZC5vZiggIkFtZXJpY2EvTW9udHJlYWwiICk7CiAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIgZiA9IERhdGVUaW1lRm9ybWF0dGVyLm9mTG9jYWxpemVkRGF0ZSggRm9ybWF0U3R5bGUuRlVMTCApLndpdGhMb2NhbGUoIExvY2FsZS5DQU5BREEgKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJ0YXJnZXQ6ICIgKyB0YXJnZXQuZm9ybWF0KCBmICkgKyAiIHwgbGQ6ICIgKyBsZC5mb3JtYXQoIGYgKSApOwoJfQp9