解析できない日付: Java の日付解析例外を解決する
日付文字列を解析しようとすると、「解析できない日付」が発生する場合があります。有効な日付形式のように見えても例外です。この問題は、コンピュータのデフォルトのロケールが日付形式文字列で使用されているロケールと異なる場合によく発生します。
特定のケースでは、次のコードが問題を示しています。
import java.util.Date; String strDate = "Wed, 09 Feb 2011 12:34:27"; Date date; SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); try { date = FORMATTER.parse(strDate.trim()); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); }
実行中上記のコードでは次の例外が発生します:
java.text.ParseException: Unparseable date: "Wed, 09 Feb 2011 12:34:27" at java.text.DateFormat.parse(DateFormat.java:337)
この問題を解決するには、ファイルの作成時に適切なロケールを指定する必要があります。 SimpleDateFormat オブジェクト。この場合、次のように Locale.ENGLISH を使用する必要があります。
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
英語ロケールを指定すると、使用している環境のデフォルト ロケールに関係なく、日付パターンが英語の規則に従って解釈されるようになります。システム。これにより、コードは日付文字列を正常に解析できるようになります。
以上がJava で「解析できない日付」例外を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。