SimpleDateFormatを使用してAM/PMを解析できません

I am having similar problems to Unable to parse DateTime-string with AM/PM marker

私はそのリンクで提供されているソリューションを試してみましたが、助けにはなりませんでした。

SimpleDateFormat timingFormat = new SimpleDateFormat("h:mm a", Locale.US);
Date l = timingFormat.parse(time);

私は受け取り続けます  java.text.ParseException:解析できない日付: "12:34" 私が午前12時34分に入ると

1
私はここで同じ問題に遭遇した。私たちはいくつかのバリエーションを試してみましたが、AMやPMのテキストを解析することができませんでしたので、そのままにして、24時間制を使用してください。 "a"または "aa"は、文字列を解析するためではなく、DateTimeの書式設定にのみ使用する必要があります。
追加された 著者 Joshua Pinter,
追加された 著者 darvids0n,

2 答え

一瞬待って。エラーは、 12:34 は解析できず、 12:34 AM ではないことを示しています。その場合、あなたの入力メソッドは、最初の単語を空白まで読み込み、エントリの "AM"部分を無視します。入力ストリーム/文字列全体を読み込むように入力メソッドを修正してから、正しく解析する必要があります。

2
追加された
public static void main(String[] args) throws ParseException {
    SimpleDateFormat timingFormat = new SimpleDateFormat("h:mm a", Locale.US);
    Date l = timingFormat.parse("12:34 AM");
    System.out.println(l.toString());
}

上記のコードは正常に動作します。これは、あなたが parse メソッドに渡した入力が期待どおりでないことを意味します。

1
追加された