我數據庫里用到了日期類型。用java編程的時候同時import了java.util.*和java.sql.*,發現直接申明Date類型
Date dt;
會報錯,查了一下才發現有java.util.Date和java.sql.Date,在定義日期類型的時候要使用全名,就是像這樣:
java.util.Date udt;java.sql.Date sdt;
然后我就查java.util.Date和java.sql.Date的區別和用法,這方面網上資料挺全,我就不贅述了,大致區別就是java.util.Date支持日期和時間,而java.sql.Date只支持日期。后面我還用到了String轉java.sql.Date,這個在網上也能查到,我簡要介紹我比較喜歡的一種方法。
首先,準備一個SimpleDateFormat對象,使用SimpleDateFormat類需要import java.text.SimpleDateFormat
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);//yyyy-MM-dd為我們想要轉換成的日期格式,一會兒被轉換的字符串也應按這個格式來寫
然后,準備一個java.util.Date對象和待轉換的字符串
然后用df將str轉換成java.util.Date,并賦值給udt
udt = df.parse(str);
然后再從udt獲得我們需要的java.sql.Date
java.sql.Date sdt = new java.sql.Date(udt.getTime());
總結一下就是先用SimpleDateFormat將待轉換成日期的字符串格式化成java.util.Date類型,然后再從得到的java.util.Date對象得到java.sql.Date對象,我們可以將它寫成一個函數,代碼如下:
public java.sql.Date stringToSQLDate(String str){SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);Java.util.Date udt=null;try{udt = sdf.parse(str);}catch(Exceprion e){e.printStackTrace();}java.sql.Date sdt = new java.sql.Date(udt.getTime());return sdt;}
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答