Skip to main content
added 370 characters in body
Source Link

I faced the same challenge where I needed to go back by 1 day (should be able to roll back by one even if previous day falls into previous year or months).

I did following, basically subtracted by 24 hours for 1 day. someDateInGregorianCalendar.add(Calendar.HOUR, -24);

Alternatively, I could also do

someDateInGregorianCalendarGregorianCalendar cal = new GregorianCalendar(); cal.set(Calendar.YEAR, 2021); cal.set(Calendar.MONTH, 0); cal.set(Calendar.DATE, 1); System.out.println("Original: " + cal.getTime()); cal.add(Calendar.HOURDATE, -241); System.out.println("After adding DATE: " + cal.getTime()); 

OUTPUT:

Original: Fri Jan 01 15:08:33 CET 2021 After adding DATE: Thu Dec 31 15:08:33 CET 2020 

I faced the same challenge where I needed to go back by 1 day (should be able to roll back by one even if previous day falls into previous year or months).

I did following, basically subtracted by 24 hours for 1 day.

someDateInGregorianCalendar.add(Calendar.HOUR, -24); 

I faced the same challenge where I needed to go back by 1 day (should be able to roll back by one even if previous day falls into previous year or months).

I did following, basically subtracted by 24 hours for 1 day. someDateInGregorianCalendar.add(Calendar.HOUR, -24);

Alternatively, I could also do

GregorianCalendar cal = new GregorianCalendar(); cal.set(Calendar.YEAR, 2021); cal.set(Calendar.MONTH, 0); cal.set(Calendar.DATE, 1); System.out.println("Original: " + cal.getTime()); cal.add(Calendar.DATE, -1); System.out.println("After adding DATE: " + cal.getTime()); 

OUTPUT:

Original: Fri Jan 01 15:08:33 CET 2021 After adding DATE: Thu Dec 31 15:08:33 CET 2020 
Source Link

I faced the same challenge where I needed to go back by 1 day (should be able to roll back by one even if previous day falls into previous year or months).

I did following, basically subtracted by 24 hours for 1 day.

someDateInGregorianCalendar.add(Calendar.HOUR, -24);