format的格式理论应该要和你的字符串匹配,不匹配应该报错吧,不然格式对不上怎么转换呢。

解决方案 »

  1.   

    你可以把-拿掉呀 String做下处理不就行了
      

  2.   

    把所有可能的格式都放到一个数组里,一个个format过去try catch下异常的就继续,正确就返回
      

  3.   

    共享下做法
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH:ss:mm");
    String date = "2013 03 03 1:1:1 ";
    date = date.replaceAll("/", "").replaceAll("-", "").replaceAll(" ", "");
    if(date.length()<11)
    date = date.trim() + "0:0:0";
    System.out.println(sdf.parse(date));
      

  4.   


    Date date = new Date();
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //这格式看自己想要什么
    date = f.parse("2014-04-15 00:00:00");
      

  5.   

    先感谢各位回答问题,但是麻烦看清楚问题了在回答。
    你想要什么效果呢?把不同种类的Stirng经过判断处理成统一种类的String不就可以了?