import java.text.SimpleDateFormat; import java.text.ParseException; public class DateTest { public boolean isValidDate(String inDate) { if (inDate == null) return false; //set the format to use as a constructor argument SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); if (inDate.trim().length() != dateFormat.toPattern().length()) return false; dateFormat.setLenient(false); try { //parse the inDate parameter dateFormat.parse(inDate.trim()); } catch (ParseException pe) { return false; } return true; } public static void main(String[] args) { DateTest test = new DateTest(); System.out.println(test.isValidDate("2004-02-29")); System.out.println(test.isValidDate("2005-02-29")); } }The output will be...
true
false
...since the year 2004 was a leap year.