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

Ami*_*Ami 44 java simpledateformat parseexception

我在尝试使用代码时正在解析异常

    String date="Sat Jun 01 12:53:10 IST 2013";
    SimpleDateFormat sdf=new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
    Date currentdate;
    currentdate=sdf.parse(date);
    System.out.println(currentdate);
Run Code Online (Sandbox Code Playgroud)

例外

    String date="Sat Jun 01 12:53:10 IST 2013";
    SimpleDateFormat sdf=new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
    Date currentdate;
    currentdate=sdf.parse(date);
    System.out.println(currentdate);
Run Code Online (Sandbox Code Playgroud)

输入:Sat Jun 01 12:53:10 IST 2013

预期产量:Jun 01,2013 12:53:10

怎么解决这个?

ass*_*ias 99

你的模式根本不符合输入字符串...它不起作用也就不足为奇了.这可能会更好:

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",
                                            Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)

然后要使用您所需的格式打印,您需要第二个SimpleDateFormat:

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 您应该包含区域设置,就好像您的区域设置不是英语,可能无法识别日期名称
  • IST含糊不清,可能会导致问题,因此您应该在输入中使用正确的时区名称.

  • 我在下一个日期得到了同样的例外:2013年10月24日,以下*正确*格式:"MMMMM dd,yyyy".只有当我提到你提到的Locale.ENGLISH时,问题才解决了.TNX (2认同)

Sur*_*tta 6

图案不对

    String date="Sat Jun 01 12:53:10 IST 2013";
    SimpleDateFormat sdf=new SimpleDateFormat("E MMM dd hh:mm:ss Z yyyy");
    Date currentdate;
    currentdate=sdf.parse(date);
    System.out.println(currentdate);
Run Code Online (Sandbox Code Playgroud)


Rad*_*ari 5

        String date="Sat Jun 01 12:53:10 IST 2013";
        SimpleDateFormat sdf=new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
        Date currentdate=sdf.parse(date);
        SimpleDateFormat sdf2=new SimpleDateFormat("MMM dd,yyyy HH:mm:ss");
        System.out.println(sdf2.format(currentdate));
Run Code Online (Sandbox Code Playgroud)