2011-11-11 39 views
0

如何獲取Java中日期的格式? 我有一個日期格式的列。我想爲每一行找到它的格式。 我該怎麼做? 防爆 -在Java中查找日期格式

COL1| COL2   |COL3 
------------------------- 
1 | 12-2005-31 |zzz 
2 | 24 March 2009 |aaa 
+3

您如何區分月份數和月份日<= 12? –

+1

某些日期格式不明確。 10-11-12可能是2010年11月12日或2012年11月10日或2012年10月11日。 –

+0

爲什麼在同一列中有不同的格式?通過代碼解釋日期格式並不安全。我建議你修正列/源文件中的格式。 – aishwarya

回答

1

看起來像是在數據庫中存儲日期字符串。我建議你在數據庫表中將列類型更改爲日期或時間戳,並保存自己解析恐懼。

1

由於與日期字符串的解釋相關的明顯歧義,您不能簡單地解析字符串以形成日期。例如,考慮「10/12/2009」的日期。人們可以把它解釋爲十二月十日和十月十二日。除非您知道它符合的模式,否則不能將此字符串映射到確定的日期值。

我同意@Manish Sharma將列類型更改爲Date可以解決您的問題,因爲Date值是從過去的某個固定日期開始以絕對秒值存儲的。

0

你將不得不做你自己的啓發式或簡單地說「猜測」。創建一個正則表達式模式列表,並使用匹配的第一個構造一個Date實例。希望數據庫中你的日期格式不太可變。