java.util.Date和java.sql.Date這兩個有什麼區別?

java.sql.Date,java.sql.Time和java.sql.Timestamp三個都是java.util.Date的子類(包裝類)。
 java.sql.Date是爲了配合SQL DATE而設置的數據類型。「規範化」的java.sql.Date只包含年月日信息,時分秒毫秒都會清 零。格式相似:YYYY-MM-DD。當咱們調用ResultSet的getDate()方法來得到返回值時,java程序會參照"規範"的 java.sql.Date來格式化數據庫中的數值。所以,若是數據庫中存在的非規範化部分的信息將會被劫取。 
若是咱們把一個java.sql.Date值經過PrepareStatement的setDate方法存入數據庫時,java程序會對傳入的 java.sql.Date規範化,非規範化的部分將會被劫取。然而,咱們java.sql.Date通常由java.util.Date轉換過來, 如:java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()).java

java.util.Date是在除了SQL語句的狀況下面使用的。
java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分
它們都有getTime方法返回毫秒數,天然就能夠直接構建。 java.util.Date 是 java.sql.Date 的父類,前者是經常使用的表示時間的類,咱們一般格式化或者獲得當前時間都是用他,後者以後在讀寫數據庫的時候用他顯然,這樣轉換過來的java.sql.Date每每不是一個規範的java.sql.Date.要保存java.util.Date的精確值,
咱們須要利用java.sql.Timestamp.

Calendar

Calendar   calendar=Calendar.getInstance();  
//得到當前時間,聲明時間變量  
int   year=calendar.get(Calendar.YEAR);  
//獲得年
int   month=calendar.get(Calendar.MONTH);  
//獲得月,可是,月份要加上1  
month=month+1; 
int   date=calendar.get(Calendar.DATE);  
//得到日期  
String   today=""+year+"-"+month+"-"+date+"";sql

相關文章
相關標籤/搜索