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.