在Java中将字符串解析为日期

Jaa*_*nus 6 java string date simpledateformat

我正在尝试将字符串解析为日期,这就是我所拥有的:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zZ (zzzz)");
Date date = new Date();
try {
    date = sdf.parse(time);
} catch (ParseException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

要解析的字符串是这样的:

Sun Jul 15 2012 12:22:00 GMT+0300 (FLE Daylight Time)
Run Code Online (Sandbox Code Playgroud)

我关注了http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

很确定我已经完成了这本书的所有内容.但是它给了我ParseException.

java.text.ParseException: Unparseable date: 
"Sun Jul 15 2012 12:22:00 GMT+0300 (FLE Daylight Time)"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我试过的模式:

EEE MMM dd yyyy HH:mm:ss zzz
EEE MMM dd yyyy HH:mm:ss zZ (zzzz)
Run Code Online (Sandbox Code Playgroud)

Kep*_*pil 11

你似乎正在混合模式zZ.如果你忽略了(FLE Daylight Time),因为这是与in相同的信息GMT+0300,问题就变成了SimpleDateFormat想要GMT +0300或者GMT+03:00.最后一个变体可以像这样解析:

String time = "Sun Jul 15 2012 12:22:00 GMT+03:00 (FLE Daylight Time)";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zzz");
Date date = sdf.parse(time);
Run Code Online (Sandbox Code Playgroud)

[编辑]
根据关于其时间字符串工作的其他帖子,这可能是因为您的时间字符串包含冲突的信息或混合格式.