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

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

DDD
DDDオリジナル
2024-11-01 09:37:02487ブラウズ

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

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

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

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

エラー: "無効な形式"

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

<code class="java">DateTime dt = new DateTime("04/02/2011 20:27:05");</code>

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

: DateTimeFormat

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

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

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

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

以上がJoda Time で日付文字列を DateTime オブジェクトに解析し、「無効な形式」エラーを回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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