Java で日付を解析し、「java.text.ParseException: Unparseable date」エラーを解決する方法

DDD
リリース: 2024-11-19 19:26:02
オリジナル
845 人が閲覧しました

How to Parse Dates in Java and Resolve the

Java での日付の解析: 「java.text.ParseException: Unparseable date」問題の解決

Java で日付文字列を解析しようとしたとき、日付形式パターンが入力文字列と正確に一致していることを確認することが重要です。あなたの場合、例外「java.text.ParseException: Unparseable date」はパターンと入力の間の不一致を示唆しています。

元のパターン「MMM d, yyyy HH:mm:ss」は、日付は「2013 年 6 月 1 日 12:53:10」の形式です。ただし、入力文字列には追加情報、特に曜日の「Sat」とタイムゾーンの「IST」が含まれています。

解決策:

解決するにはこの問題では、入力文字列と正確に一致するように日付形式パターンを更新します。修正されたパターンは次のとおりです:

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
ログイン後にコピー

このパターンには以下が含まれます:

  • EE: 曜日 (例: "Sat")
  • MMM: Three-文字の月の省略形 (例: "Jun")
  • dd: 月の日(例: "01")
  • HH: 24 時間形式の時 (例: "12")
  • mm: 分 (例: "53")
  • ss : 秒 (例: "10")
  • z: タイムゾーンの略称(例: "IST")
  • yyyy: 年 (例: "2013")

希望の形式の印刷:

1 回日付が正しいパターンを使用して正常に解析された場合は、別の形式を使用して目的の出力形式を取得できます。 SimpleDateFormat インスタンス:

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));
ログイン後にコピー

注:

  • ロケール固有の問題を回避するには、解析に使用される SimpleDateFormat のロケールとして Locale.ENGLISH を明示的に指定します。 .
  • 入力文字列に次のようなあいまいなタイムゾーンの略語が含まれている場合「IST」の代わりに、完全なタイムゾーン名を含めることをお勧めします。

以上がJava で日付を解析し、「java.text.ParseException: Unparseable date」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート