如何獲取Java中日期的格式? 我有一個日期格式的列。我想爲每一行找到它的格式。 我該怎麼做? 防爆 -在Java中查找日期格式
COL1| COL2 |COL3
-------------------------
1 | 12-2005-31 |zzz
2 | 24 March 2009 |aaa
如何獲取Java中日期的格式? 我有一個日期格式的列。我想爲每一行找到它的格式。 我該怎麼做? 防爆 -在Java中查找日期格式
COL1| COL2 |COL3
-------------------------
1 | 12-2005-31 |zzz
2 | 24 March 2009 |aaa
按本SO回答,Generic way to parse dates in Java,沒有辦法了這一點。有一些局部解決方案,但沒有明確的。
看起來像是在數據庫中存儲日期字符串。我建議你在數據庫表中將列類型更改爲日期或時間戳,並保存自己解析恐懼。
由於與日期字符串的解釋相關的明顯歧義,您不能簡單地解析字符串以形成日期。例如,考慮「10/12/2009」的日期。人們可以把它解釋爲十二月十日和十月十二日。除非您知道它符合的模式,否則不能將此字符串映射到確定的日期值。
我同意@Manish Sharma將列類型更改爲Date可以解決您的問題,因爲Date值是從過去的某個固定日期開始以絕對秒值存儲的。
你將不得不做你自己的啓發式或簡單地說「猜測」。創建一個正則表達式模式列表,並使用匹配的第一個構造一個Date實例。希望數據庫中你的日期格式不太可變。
您如何區分月份數和月份日<= 12? –
某些日期格式不明確。 10-11-12可能是2010年11月12日或2012年11月10日或2012年10月11日。 –
爲什麼在同一列中有不同的格式?通過代碼解釋日期格式並不安全。我建議你修正列/源文件中的格式。 – aishwarya