2
我有甲骨文的時間戳字段在Java的String轉換甲骨文時間戳數據類型的字符串到Java日期
字符串strDate = 「12年12月24日03:30:00,000」; // Oracle的時間戳字段
我需要將其轉換爲Java.util.Date。
請告訴我一種方法來做到這一點。
注:我沒有前兩位爲年份,怎麼能java的理解,這是1912年或2012年等。
我有甲骨文的時間戳字段在Java的String轉換甲骨文時間戳數據類型的字符串到Java日期
字符串strDate = 「12年12月24日03:30:00,000」; // Oracle的時間戳字段
我需要將其轉換爲Java.util.Date。
請告訴我一種方法來做到這一點。
注:我沒有前兩位爲年份,怎麼能java的理解,這是1912年或2012年等。
你想要的課程是SimpleDateFormat。您將創建一個匹配您的預期輸入的模式,並對其進行解析。下面是一個例子,雖然它可能是在一些地方不正確的(我使用0-23小時,也許你想1-24等)
String strDate = "24.12.12 03:30:00,000";
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yy HH:mm:ss,SSS");
Date date = sdf.parse(strDate);
Rgarding您的1912年VS 2012的問題,Java將做一些假設,當只有2位數字。具體來說,「爲了解析縮寫年份模式(」y「或」yy「),SimpleDateFormat必須解釋相對於某個世紀的縮寫年份,通過將日期調整爲80年之前和20年之後SimpleDateFormat實例被創建。「
你是從java.sql.ResultSet中獲取這個String嗎?如果是這樣,爲什麼不調用ResultSet.getTimestamp()而不是ResultSet.getString()? – 2012-04-18 16:29:35
正確答案已經發布,但您也可以通過'to_timestamp()'選擇Oracle本身,並讓JDBC爲您進行轉換,但是'SimpleDateFormat'是正確的。 – Xailor 2012-04-18 16:37:49