我的字符串如下:Sun, 27-Oct-2013 11:31:31 GMT
为了让它变得更简单:
if (s.length() > 10)
s = s.substring(5, s.length() - 4);
之后
s = " 27-Oct-2013 11:31:31"
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date timestamp = null;
try {
timestamp = formatter.parse(s.trim());
} catch (ParseException e) {
e.printStackTrace();
}
它捕获异常java.text.ParseException: Unparseable date: "27-Oct-2013 11:31:31"
答案 0 :(得分:7)
您应该为格式化程序指定一个月份拼写为英语的语言环境,否则它将使用您的默认语言环境。
SimpleDateFormat(String pattern)
使用指定的非本地化构造新的SimpleDateFormat
模式以及用户默认的DateFormatSymbols
和Calendar
区域设置。
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.US);