让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。

第三种方法

 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;// 最后命令退出
    }
   }

猜你喜欢

转载自www.cnblogs.com/wangbiaohistory/p/10000219.html