「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Joda Time で日付文字列を DateTime オブジェクトに解析し、「無効な形式」エラーを回避する方法

Joda Time で日付文字列を DateTime オブジェクトに解析し、「無効な形式」エラーを回避する方法

2024 年 11 月 8 日に公開
ブラウズ:206

How to Parse a Date String into a DateTime Object with Joda Time and Avoid the \

Joda Time を使用して日付文字列を DateTime オブジェクトに解析する

日付と時刻のデータを扱う場合、多くの場合、日付の変換が必要になります。さらなる処理のために構造化オブジェクトに文字列として保存されます。 Joda Time ライブラリは、Java で日付と時刻の操作を処理するための包括的なツール セットを提供します。

一般的なタスクの 1 つは、日付文字列を DateTime オブジェクトに変換することです。ただし、文字列が予期した形式ではない場合、エラーが発生する可能性があります。この問題を具体的な例で解決しましょう。

エラー: "無効な形式"

次のコードを考えてみましょう:

DateTime dt = new DateTime("04/02/2011 20:27:05");

このコードの目的は文字列から DateTime オブジェクトを作成します。ただし、「無効な形式: "04/02/2011 14:42:17" は "/02/2011 14:42:17" で不正です」というエラーが表示されて失敗します。

: DateTimeFormat

を使用する この問題を解決するには、日付の予期される形式を指定する必要があります 弦。 Joda Time は、この目的のために DateTimeFormatter クラスを提供します。修正されたコードは次のとおりです。

DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime("04/02/2011 20:27:05");

フォーマット文字列を定義することで、入力文字列内の日付コンポーネントを解釈する方法を Joda Time に指示します。この例では、形式パターンは、文字列を日 (dd)、月 (MM)、年 (yyyy)、時 (HH)、分 (mm)、および秒 (ss) として解析する必要があることを示しています。

フォーマッタを定義したら、それを使用して文字列を解析し、DateTime オブジェクトを作成できます。結果の dt オブジェクトには、指定された日付と時刻のコンポーネントが含まれます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3