-1
在Java中,我們可以使用SimpleDateFormat的解析像下面的日期來解析與SimpleDateFormat的日期:如何使用正則表達式
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date d = sdf.parse("12/21/2012"); //matched to December 21, 2012
但如果我們的日期更改爲
Date d = sdf.parse("12-21-2012"); //ParseException!!
有一種簡單的方法來通過混合正則表達式將這個功能擴展到所有數字集合?換句話說,只要格式匹配,我不在乎分隔符是什麼。 E.G:
SimpleDateFormat sdf = new SimpleDateFormat("MM[^0-9]dd[^0-9]yyyy");
Date d = sdf.parse("12/21/2012"); //matched to December 21, 2012
Date d = sdf.parse("12-21-2012"); //matched to December 21, 2012
我不能更強烈地建議不要使用傳統的'java.util.Date'類。你應該在'java.time'包中爲你的用例找到合適的類。 –
你不能直接這樣做,但也許你想創建自己的類來擴展SimpleDateFormat的抽象父類:DateFormat。 –
[如何使用SimpleDateFormat解析多種格式的日期](http://stackoverflow.com/questions/4024544/how-to-parse-dates-in-multiple-formats-using-simpledateformat) – Pshemo