From http://docs.oracle.com/javase/tutorial/datetime/iso/adjusters.html
System.out.printf("first day of Month: %s%n",
date.with(TemporalAdjuster.firstDayOfMonth()));
System.out.printf("first Monday of Month: %s%n",
date.with(TemporalAdjuster.firstInMonth(DayOfWeek.MONDAY)));
System.out.printf("last day of Month: %s%n",
date.with(TemporalAdjuster.lastDayOfMonth()));
System.out.printf("first day of next Month: %s%n",
date.with(TemporalAdjuster.firstDayOfNextMonth()));
System.out.printf("first day of next Year: %s%n",
date.with(TemporalAdjuster.firstDayOfNextYear()));
System.out.printf("first day of Year: %s%n",
date.with(TemporalAdjuster.firstDayOfYear()));
System.out.printf("first day of Month: %s%n",
date.with(TemporalAdjuster.firstDayOfMonth()));
System.out.printf("first Monday of Month: %s%n",
date.with(TemporalAdjuster.firstInMonth(DayOfWeek.MONDAY)));
System.out.printf("last day of Month: %s%n",
date.with(TemporalAdjuster.lastDayOfMonth()));
System.out.printf("first day of next Month: %s%n",
date.with(TemporalAdjuster.firstDayOfNextMonth()));
System.out.printf("first day of next Year: %s%n",
date.with(TemporalAdjuster.firstDayOfNextYear()));
System.out.printf("first day of Year: %s%n",
date.with(TemporalAdjuster.firstDayOfYear()));