我數據庫里用到了日期類型。用java編程的時候同時import了java.util.*和java.sql.*,發現直接申明Date類型
Date dt;
會報錯,查了一下才發現有java.util.Date和java.sql.Date,在定義日期類型的時候要使用全名,就是像這樣:
1
2
3
|
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對象和待轉換的字符串
String str = ”2011-06-30”;//這里不能寫成2011/06/30或其他樣子,會報錯,只能按目標日期格式來yyyy-MM-dd
java.util.Date udt = null;
然后用df將str轉換成java.util.Date,并賦值給udt
1
|
udt = df.parse(str); |
然后再從udt獲得我們需要的java.sql.Date
1
|
java.sql.Date sdt = new java.sql.Date(udt.getTime()); |
總結一下就是先用SimpleDateFormat將待轉換成日期的字符串格式化成java.util.Date類型,然后再從得到的java.util.Date對象得到java.sql.Date對象,我們可以將它寫成一個函數,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
|
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; } |
以上所述就是本文的全部內容了,希望大家能夠喜歡。