我想我可以創建一個GregorianCalendar
使用年份,月份和日期的構造函數,但我不能可靠地從java.sql.Date
類的實例獲取這些字段。這得到java.sql.Date
這些值的方法已被棄用,並將下面的代碼說明了爲什麼它們不能被用於:如何將java.sql.Date對象轉換爲GregorianCalendar?
import java.sql.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class DateTester {
public static void main(String[] args) {
Date date = Date.valueOf("2011-12-25");
System.out.println("Year: " + date.getYear());
System.out.println("Month: " + date.getMonth());
System.out.println("Day: " + date.getDate());
System.out.println(date);
Calendar cal = new GregorianCalendar(date.getYear(), date.getMonth(), date.getDate());
System.out.println(cal.getTime());
}
}
這裏的輸出,顯示出年份和月份沒有從棄用getYear()
和正確返回的Date
getMonth()
方法:
年:111
月:11
日:25
2011-12-25
週四12月25日00:00:00 EST 111
既然不能用,我試過上面的構造,而且也沒有GregorianCalendar
構造函數,只是需要Date
,我怎麼能轉換java.sql.Date
對象成GregorianCalendar
?
從哪裏rs.getDate()來自哪裏? – 2012-02-02 16:45:01
抱歉 - rs是我總是給予ResultSet對象的變量名 - 它只是代表您已經實例化的java.sql.Date實例。 – DaveH 2012-02-02 20:43:14
並不是最具體的答案,但+1是遵循一些標準,這使得我正在尋找確切的代碼。 – KjetilNordin 2014-07-21 08:27:45