私はJava1.6を使用しています。両方を解析できる日付形式のパターンを作成する方法はありますか?
2013-08-01
そして
2013-08-01T00:00:00.000Z
?私は以下を試しました
yyyy-MM-dd"T"HH:mm:ss.SSS"Z"
しかし、それは2番目にのみ一致し、最初のParseExceptionで終了します。私の解析コードは次のとおりです。
final DateFormat defaultDateFormatObj = new SimpleDateFormat(classDateFormat);
final java.util.Date startDate = defaultDateFormatObj.parse(myDateString);
ありがとう、 - Dave
回答:
回答№1は21つのDateFormatterで異なる形式を解析することはできないようです
ただし、それぞれに1つのDateFormatを定義し、「T」文字の存在または日付ソースの長さを確認して、使用するフォーマッターを決定することができます。
私は本当に解析できない日付を処理するためにtry / catchを残します
回答№2の場合は1
要するに、私はそうは思わない。2つの異なる日付形式(catchブロックの2番目)でtry / catchを使用することをお勧めします。
この質問への答えは役立つはずです:
SimpleDateFormatを使用して複数の形式で日付を解析する方法