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)コンストラクターは 、システムの既定の localeを使用しますが、これは使用したくないものである可能性があります。)

これは私のマシンでうまく動作します:

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 に答える