# re: 將java.util.Date 轉(zhuǎn)成 java.sql.Date 回復(fù) 更多評(píng)論
2007-09-30 13:51 by
呵呵,java.sql.Date本來(lái)就是java.util.Date的子類啊
# re: 將java.util.Date 轉(zhuǎn)成 java.sql.Date 回復(fù) 更多評(píng)論
2007-10-07 12:22 by
其實(shí),從類的繼承關(guān)系上看,java.util.Date類是java.sql.Date類的super類。所以java.sql.Date可以當(dāng)作java.util.Date來(lái)使用,只是JDK docs上強(qiáng)調(diào)最好理解為這兩個(gè)類之間沒(méi)有什么繼承關(guān)系。
至于兩者之間的轉(zhuǎn)換,有一個(gè)很簡(jiǎn)單的方法。
因?yàn)閮烧叨继峁┝艘粋€(gè)long型的構(gòu)造函數(shù),兩者通過(guò)getTime重新構(gòu)造一下就行了。
即:
java.util.Date date1 = ...;
java.sql.Date date2 = ...;
date1 = new java.sql.Date(date2.getTime());
date2 = new java.util.Date(date1.getTime());
雖然java.sql.Date在JDBC中不能接受時(shí)間,只能接受日期,但只要通過(guò)long型構(gòu)造函數(shù)傳進(jìn)去的,再弄出來(lái)也是不會(huì)丟失的。
在數(shù)據(jù)庫(kù)時(shí)間建模和操縱時(shí)習(xí)慣用java.sql.Timestamp,與數(shù)據(jù)庫(kù)中DateTime對(duì)應(yīng),但業(yè)務(wù)流通層,還是習(xí)慣只用java.util.Date,因?yàn)檫@些時(shí)間直接的轉(zhuǎn)換都是一樣的方便,而且這樣做邏輯理解上比較直觀。
# re: 將java.util.Date 轉(zhuǎn)成 java.sql.Date 回復(fù) 更多評(píng)論
2011-08-24 15:08 by
@千里冰封
""呵呵,java.sql.Date本來(lái)就是java.util.Date的子類啊""
怎么會(huì)是它的了類呢,文檔你有沒(méi)有看過(guò)的啊,不要誤人
# re: 將java.util.Date 轉(zhuǎn)成 java.sql.Date 回復(fù) 更多評(píng)論
2015-01-15 17:33 by
new Timestamp(util.date().getTime());絕對(duì)正確
# re: 將java.util.Date 轉(zhuǎn)成 java.sql.Date 回復(fù) 更多評(píng)論
2015-01-15 17:35 by
pst.setTimestamp(1,new Timestamp( new java.util.Date().getTime()));
時(shí)間戳 setTimestamp 保存!