ホームページ  >  記事  >  Java  >  SimpleDateFormat を使用して「Sat Jun 01 12:53:10 IST 2013」の「java.text.ParseException: Unparseable Date」を解析するにはどうすればよいですか?

SimpleDateFormat を使用して「Sat Jun 01 12:53:10 IST 2013」の「java.text.ParseException: Unparseable Date」を解析するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 02:29:03770ブラウズ

How to Parse

解析例外: SimpleDateFormat の "java.text.ParseException: Unparseable Date"

文字列「Sat」から日付を解析しようとしたとき6 月 01 日 12:53:10 IST 2013」を使用SimpleDateFormat を使用すると、「java.text.ParseException: 解析できない日付」というエラーが発生する場合があります。このエラーは、解析に使用されたパターン「MMM d, yyyy HH:mm:ss」が入力文字列形式と一致しないために発生します。

解決策:

この問題を解決し、指定された日付を正常に解析するには、入力文字列の特定の形式に合わせて SimpleDateFormat のパターンを調整する必要があります。指定された文字列の場合、より適切なパターンは次のとおりです。

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

  • "EE MMM dd HH:mm:ss z yyyy" は入力文字列の日付を表し、時刻形式 (例: 2013 年 6 月 1 日土曜日、12:53:10) IST).
  • Locale.ENGLISH により、パーサーが英語の曜日名の形式を理解できるようになります。

出力形式:

日付が変わったら正常に解析された場合は、2 番目の SimpleDateFormat を使用して、出力を希望の形式「MMM d, yyyy HH:mm:ss":

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

追加の考慮事項:

  • 入力文字列では、タイム ゾーン名ではなく正確なタイム ゾーン名を使用することをお勧めします。潜在的な解析の問題を回避するため、あいまいな「IST」を使用します。
  • で指定されたロケールを確認してください。 SimpleDateFormat は、予想される入力のロケールと一致し、曜日の名前やその他のロケール固有の形式要素を適切に処理します。

以上がSimpleDateFormat を使用して「Sat Jun 01 12:53:10 IST 2013」の「java.text.ParseException: Unparseable Date」を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。