Java Data Type How to - Check the validity of a date








Question

We would like to know how to check the validity of a date.

Answer

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
//w ww  .j av  a2 s .  com
public class Main {
  private static final DateFormat DEFAULT_FORMATTER;

  static {
    DEFAULT_FORMATTER = new SimpleDateFormat("dd-MM-yyyy");
    DEFAULT_FORMATTER.setLenient(false);
  }

  public static void main(String[] args) {
    try {
      System.out.println(convertDateString("32-11-2010"));
      System.out.println(convertDateString("32-02-2010"));
      System.out.println(convertDateString("04-01-2011"));
    } catch (ParseException e) {
      System.out.println("could not parse 32-11-2010");
    }
  }

  public static Date convertDateString(String dateString) throws ParseException {
    return DEFAULT_FORMATTER.parse(dateString);
  }
}

The code above generates the following result.