Java 日付解析例外:「解析不可能な日付」
SimpleDateFormat を使用して日付を解析しようとすると、「解析不可能な日付」が発生する可能性があります。例外。このエラーは、指定された日付文字列が指定された日付形式と一致しない場合に発生します。
この特定の例では、指定されたコードは、次の形式を使用して日付「水、2011 年 2 月 9 日 12:34:27」を解析しようとします。 「ええ、dd MMM yyyy HH:mm:ss」。実行すると、日付を解析できないことを示す例外がスローされます。
この問題の原因は、解析に使用されるロケールにあります。デフォルトでは、Java はシステム ロケールを使用しますが、これは予期される英語ロケールとは異なる場合があります。その結果、SimpleDateFormat で使用されるパターンは、現在のロケールの日付書式設定ルールと一致しない可能性があります。
この問題を解決するには、SimpleDateFormat インスタンスの作成時にロケールを明示的に指定することをお勧めします。これにより、正しい書式設定ルールが確実に適用されます。
import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; ... SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
Locale.ENGLISH を指定すると、フォーマッタは入力日付文字列の形式と一致する英語の書式設定規則を使用します。これにより、「解析できない日付」例外が発生することなく、日付を正常に解析できます。
以上がJava SimpleDateFormat が「解析できない日付」例外をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。