2012-09-24 107 views
0

我需要檢查字符串對所有可能的dateFormats,並需要檢查其有效日期或不。如何檢查字符串是日期

我面臨的問題是我不能預測日期格式,因爲它從其他網絡源獲得。一個例子是September 21 2012 1255 PM ET,但格式可能會有所不同。

+0

要求一個專用的API。比屏幕抓取好得多。 –

回答

1

我建議你實現自己的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

相關問題