大家一般很少格式化或者parse带有Sun Nov等英文单词的字符串。
如果格式化英文月份的字符串,记得带上Locale.US参数,否则,JRE会按照当前地区的语言格式来解释,就会出错。
String a = "Sun Nov 13 21:56:41 +0800 2011";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.US);//MMM dd hh:mm:ss Z yyyy
try {
System.out.println(sdf.parse(a));
} catch (ParseException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
详细参考:
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#text
http://www.cnblogs.com/luyubin/archive/2009/03/17/1414086.html