TemporalAdjusters
is a class in Java that is oriented towards bettering the options of Calendar. You can easily compute the dates of firstDayOfNextMonth
, lastDayOfMonth
, next Wednesday, etc.
TemporalAdjusters
have many more methods defined and it is good to explore a few of them yourself. The API is available at https://docs.oracle.com/javase/8/docs/api/java/time/temporal/TemporalAdjusters.html.
import java.time.LocalDate;import java.time.DayOfWeek;import java.time.temporal.TemporalAdjusters;public class UnderstandingTemporalAdjusters { public static void main(String args[]) { UnderstandingTemporalAdjusters understandingTemporalAdjusters = new UnderstandingTemporalAdjusters(); understandingTemporalAdjusters.proceed(); } public void proceed() { //Today LocalDate today = LocalDate.now(); System.out.println("Today's date: " + today); //Last day of current month LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); System.out.println("lastDayOfMonth : " + lastDayOfMonth); //First day of next month LocalDate firstDayOfNextMonth = today.with(TemporalAdjusters.firstDayOfNextMonth()); System.out.println("firstDayOfNextMonth : " + firstDayOfNextMonth); //Next Wednesday LocalDate nextWednesday = today.with(TemporalAdjusters.next(DayOfWeek.WEDNESDAY)); System.out.println("Next Wednesday is on: " + nextWednesday); }}/*
Expected output:
[[email protected]]# java UnderstandingTemporalAdjustersToday's date: 2019-02-21lastDayOfMonth : 2019-02-28firstDayOfNextMonth : 2019-03-01Next Wednesday is on: 2019-02-27*/