попробуйте DateFormat с форматом по умолчанию DateFormat.MEDIUM и SHORT.
public static void main(String[] args) {
// Make a String that has a date in it, with MEDIUM date format
// and SHORT time format.
String dateString = "Nov 4, 2003 8:14 PM";
// Get the default MEDIUM/SHORT DateFormat
DateFormat format =
DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT);
// Parse the date
try {
Date date = format.parse(dateString);
System.out.println("Original string: " + dateString);
System.out.println("Parsed date : " +
date.toString());
}
catch(ParseException pe) {
System.out.println("ERROR: could not parse date in string \"" +
dateString + "\"");
}
Отрезано из http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/
В случае исключения вы должны решить, что делать дальше, вы можете построить иерархиюразбора пытается.вроде:
SimpleDateFormat df1 = new SimpleDateFormat( "dd/MM/yyyy" );
SimpleDateFormat df2 = new SimpleDateFormat( "dd-MM-yyyy" );
df1.parse(..)
df2.parse(..)
и т. д.