第三种方法
while(true) {
Date d;
System.out.println("正在进行第一次匹配,请稍后~—~");
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
d = sdf.parse(s);
System.out.println(sdf.format(d));
return;// 匹配成功退出
} catch (ParseException e) {
System.out.println("匹配失败!");// 匹配失败进入下一个匹配
}
System.out.println("正在进行第二次匹配,请稍后~—~");
SimpleDateFormat sdf0 = new SimpleDateFormat("yyyyMMdd");
Date d0;
try {
d0 = sdf0.parse(s);
System.out.println("匹配成功!");
System.out.println(sdf0.format(d0));
return;// 匹配成功退出
} catch (ParseException e) {
System.out.println("匹配失败!");// 匹配失败进入下一个匹配
}
// 上面不成功进入下面匹配,重新把str包装成另一个日期d1
System.out.println("正在进行第三次匹配,请稍后~—~");
// 此种日期格式在后面会出现日期少11个月的情况
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date d1;
try {
d1 = sdf1.parse(s);
System.out.println("匹配成功!");
System.out.println(sdf1.format(d1));
return;// 匹配成功退出
} catch (ParseException e) {
System.out.println("匹配失败!");// 匹配失败进入最后命令
}
System.out.println("日期格式非法");
return;// 最后命令退出
}
}