ホームページ >Java >&#&チュートリアル >Java で「解析できない日付」例外を解決するには?

Java で「解析できない日付」例外を解決するには?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-29 15:03:17157ブラウズ

How to Resolve

解析できない日付: 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 サイトの他の関連記事を参照してください。

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