java.text.parseException:无法解析的日期

时间:2013-11-20 06:08:20

标签: java parseexception

我正在尝试将字符串转换为日期时收到此错误。 不可挽回的数据 以下是我的代码: -

String str = "hello"                

3 个答案:

答案 0 :(得分:3)

在解析字符串str中缺少第二个。因此,要解析它,您不应在SimpleDateFormat pattern包含第二种格式。还要更正日期和月份格式。查看df

的声明
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy hh:mm a");//Remove :ss

要了解模式的详细信息,请查看此docs

修改

String date2 = sdformatter.format(date1);// format method return String.
                                         //Should declare with String

完整代码

    String str = "25-Nov-2013 06:00 AM";
    SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy hh:mm a");//Remove :ss
    SimpleDateFormat sdformatter = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss a");
    Date date1=null;
    try {
        date1 = df.parse(str);
    } catch (ParseException ex) {
        ex.printStackTrace();
    }
    String date2 = sdformatter.format(date1);
    System.out.println(date2);

答案 1 :(得分:0)

根据str格式,您应该编写SimpleDateFormat,

(25-Nov-2013 06:00 AM ---> dd-MMM-yyyy hh:mm a) and for 
(25-Nov-2013 06:00:30 AM-----> dd-MMM-yyyy hh:mm:ss a)  

将起作用

答案 2 :(得分:0)

试试这个

long newerdate = new Date().parse("25-Nov-2013 06:30 AM");
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("dd-MM-yyyy hh:mm a");
String data = df.format(newerdate);
System.out.println(data);