Java Data Type How to - Get previous date in java








Question

We would like to know how to get previous date in java.

Answer

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*from w ww  . j  ava2s  .c om*/
public class Main {

  public static String previousDateString(String dateString)
      throws ParseException {
    DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

    Date myDate = dateFormat.parse(dateString);

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(myDate);
    calendar.add(Calendar.DAY_OF_YEAR, -1);

    Date previousDate = calendar.getTime();
    String result = dateFormat.format(previousDate);

    return result;
  }

  public static void main(String[] args) {
    String dateString = "20140316";

    try {
      System.out.println(previousDateString(dateString));
    } catch (ParseException e) {
      System.out.println("Invalid date string");
      e.printStackTrace();
    }
  }
}

The code above generates the following result.