第三種方法
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;// 最后命令退出
}
}