9

我收到以下错误:'java.text.ParseException: Unparseable date: "Aug 31 09:53:19 2011"' 格式如下:new SimpleDateFormat("MMM dd HH:mm:ss yyyy");

有没有人看到问题?

4

3 回答 3

27

确保您使用正确的语言环境。(SimpleDateFormat(String)构造函数使用 系统默认语言环境,它可能不是您想要使用的。)

这在我的机器上运行良好:

String input = "Aug 31 09:53:19 2011";
DateFormat df = new SimpleDateFormat("MMM dd HH:mm:ss yyyy", Locale.US);
System.out.println(df.parseObject(input));

Locale.FRENCH例如,在使用时,结果为ParseException.)

于 2011-08-31T08:22:49.987 回答
7

格式本身对于您提供的输入是可以的。但是,如果您的默认语言环境设置为“Aug”不是月份名称的有效缩写,您可能会收到此错误。尝试使用例如 to Locale.US,你会发现它会起作用:

DateFormat df = new SimpleDateFormat("MMM dd HH:mm:ss yyyy", Locale.US);
Date date = df.parse("Aug 31 09:53:19 2011");
于 2011-08-31T08:23:04.833 回答
5
于 2015-08-17T22:29:10.320 回答