java无法解析的日期:

时间:2014-01-23 15:17:57

标签: java date

如何解析这个日期?

Mon Jul 29 02:00:00 CEST 2013

代码:

    public class HelloWorld{

     public static void main(String []args){

        try {
                String startdateString = "Mon Jul 29 02:00:00 CEST 2013";
        SimpleDateFormat fromUser2 = new SimpleDateFormat("EEE MMM d hh:mm:ss z yyyy");

            startdateString = myFormat.format(fromUser2.parse(startdateString));
        } catch (ParseException e) {
            e.printStackTrace();
        }
     }
}

我正在接受例外

java.text.ParseException: Unparseable date: "Mon Jul 29 02:00:00 CEST 2013"

16:13:57,761 ERROR [stderr] (http-/0.0.0.0:8080-1)  at java.text.DateFormat.parse(Unknown Source)

3 个答案:

答案 0 :(得分:3)

如果您不在英语区域设置(如美国或英国)上运行,则您不提供任何Locale代码将无效。

以下代码(更正)适用于我:

try {
    String startdateString = "Mon Jul 29 02:00:00 CEST 2013";
    SimpleDateFormat fromUser2 = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);

    System.out.println(fromUser2.parse(startdateString));
} catch (ParseException e) {
    e.printStackTrace();
}

答案 1 :(得分:2)

您需要使用SimpleDateFormat的对象格式化日期。

替换

startdateString = myFormat.format(fromUser2.parse(startdateString));

通过

startdateString = fromUser2.format(fromUser2.parse(startdateString));

答案 2 :(得分:1)

我在谷歌上找不到这个答案,但确定已经在这里了:

Java - Unparseable date

try {
String startdateString = "Mon Jul 29 02:00:00 CEST 2013";
SimpleDateFormat fromUser2 = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);

  System.out.println(fromUser2.parse(startdateString));
 } catch (ParseException e) {
  e.printStackTrace();
 }