1

我的字符串看起来像: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"

4

1 回答 1

7

您应该为格式化程序指定一个用英语拼写月份的语言环境,否则它将使用您的默认语言环境。

SimpleDateFormat(String pattern)

SimpleDateFormat使用指定的非本地化模式和用户默认语言环境的DateFormatSymbolsandCalendar构造 一个新的。

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.US);
于 2013-10-26T11:46:15.537 回答