0
我需要檢查字符串對所有可能的dateFormats,並需要檢查其有效日期或不。如何檢查字符串是日期
我面臨的問題是我不能預測日期格式,因爲它從其他網絡源獲得。一個例子是September 21 2012 1255 PM ET
,但格式可能會有所不同。
我需要檢查字符串對所有可能的dateFormats,並需要檢查其有效日期或不。如何檢查字符串是日期
我面臨的問題是我不能預測日期格式,因爲它從其他網絡源獲得。一個例子是September 21 2012 1255 PM ET
,但格式可能會有所不同。
我建議你實現自己的Parse方法並使用正則表達式來確定如何解析字符串。你不應該期望用任何格式解析日期而不知道它是什麼。
我個人(再後來,我haven't在相當長的一段時間編碼的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
要求一個專用的API。比屏幕抓取好得多。 –