1

尝试解析日期如下:

String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );

我得到这个错误:

08-15 11:18:22.005:W/System.err(1012):java.text.ParseException:无法解析的日期:“Tue May 15 00:00:01 MSK 2012”08-15 11:18:22.045:W/ System.err(1012):在 java.text.DateFormat.parse(DateFormat.java:626)

我该如何解决?

4

1 回答 1

2

SimpleDateFormat默认情况下使用默认语言环境:给定的代码在配置为英语的系统上运行时将起作用,而在其他地方则失败。您可以在创建解析器时将语言环境设置为已知的,例如:

String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );
于 2013-08-15T12:06:13.967 回答