3

SimpleDateFormat クラスを使用して、この文字列から DateTime を解析しようとしています。

2012 年 7 月 5 日 11:38:02,442 UTC AM

次のフォーマット文字列を試しました:

SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a");

Date temp = dateformatYYYYMMDD.parse(time);

しかし、それはエラーを生成します:

エラー: 解析不能な日付: ""

zZ を使用すると、エラー: 解析不能な日付: "05-Jul-2012 11:38:02,442 UTC AM" が表示されます

これを回避する方法に関するヒントはありますか?

4

4 に答える 4

6

あなたが与えたコードは私にとってはうまくいきます。おそらく問題はあなたのロケールですか?を作成するときに指定してみてくださいSimpleDateFormat

SimpleDateFormat format =new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
                                              Locale.US);

そうすれば、米国の月と午前/午後指定子の名前を見つけようとします。

于 2012-07-16T15:52:17.197 に答える
2

私が実行しようとすると、それは私にとってはうまくいきます:

String time = "05-Jul-2012 11:38:02,442 UTC AM";
SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a");
Date temp = dateformatYYYYMMDD.parse(time);

time何かに設定されていますか?

于 2012-07-16T15:53:00.723 に答える
0

これを試して...

System.out.println(new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
                                              Locale.US).format(new Date()));
于 2012-07-16T15:54:16.523 に答える
0

エラーを再現できません。本当に使用していますか:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
于 2012-07-16T15:55:12.643 に答える