1. ホーム
  2. java

[解決済み] java.text.ParseException: パースできない日付

2022-01-30 23:45:32

質問

以下のコードを試したところ、パース例外が発生しました。

    String date="Sat Jun 01 12:53:10 IST 2013";
    SimpleDateFormat sdf=new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
    Date currentdate;
    currentdate=sdf.parse(date);
    System.out.println(currentdate);

例外です。

スレッド "main" java.text.ParseException で例外が発生しました。Unparseable date: "Sat Jun 01 12:53:10 IST 2013" com.ibm.icu.text.DateFormat.parse(DateFormat.java:510) にて。

入力です。 Sat Jun 01 12:53:10 IST 2013

期待される出力 Jun 01,2013 12:53:10

これを解決するには?

どのように解決するのですか?

パターンが入力文字列に全く対応していない...。うまくいかなくて当然です。こうすればうまくいくかもしれませんね。

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",
                                            Locale.ENGLISH);

それから、必要なフォーマットで印刷するために、2番目のSimpleDateFormatが必要です。

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));

注意事項