文字列をすべての可能なdateFormatsと照合し、有効な日付を確認する必要があります。
私が直面している問題は、他のWebソースから取得した日付形式を予測できないことです。一例はSeptember 21 2012 1255 PM ET
、です。ただし、形式は異なる場合があります。
文字列をすべての可能なdateFormatsと照合し、有効な日付を確認する必要があります。
私が直面している問題は、他のWebソースから取得した日付形式を予測できないことです。一例はSeptember 21 2012 1255 PM ET
、です。ただし、形式は異なる場合があります。
独自の Parse メソッドを実装し、正規表現を使用して文字列の解析方法を決定することをお勧めします。それが何であるかを知らずに、任意の形式で日付を解析することを期待すべきではありません。
個人的には、次のようなものを実装します (ただし、Java をかなり長い間コーディングしていません)。
public SimpleDateFormat ParseDate(string s)
{
SimpleDateFormat parsedDate;
if(s.matches("0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d"))
parsedDate = new SimpleDateFormat("MM/dd/yyyy");
else if(s.matches([PATTERN2]))
parsedDate = new SimpleDateFormat([DATE PATTERN 2]);
...
return parsedDate;
}
等々...
推奨読書:
http://docs.oracle.com/javase/tutorial/essential/regex/
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html