java.util.Date和java.sql.Date的區別和相互轉化

4e48 11年前發布 | 2K 次閱讀 Java

    java.util.Date是在除了SQL語句的情況下面使用的。
java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分
它們都有getTime方法返回毫秒數,自然就可以直接構建。 java.util.Date 是 java.sql.Date 的父類,前者是常用的表示時間的類,我們通常格式化或者得到當前時間都是用他,后者之后在讀寫數據庫的時候用他,因為PreparedStament的setDate()的第2參數和ResultSet的getDate()方法的第2個參數都是java.sql.Date。

 java.sql.Date轉為java.util.Date  
java.sql.Date date=new java.sql.Date();  
java.util.Date d=new java.util.Date (date.getTime());  


 java.util.Date轉為java.sql.Date  
java.util.Date utilDate=new Date();  
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());  
 java.util.Date utilDate=new Date();  
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());  
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());  
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());  


這里所有時間日期都可以被SimpleDateFormat格式化format()  
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
f.format(stp);  
f.format(sTime);  
f.format(sqlDate);  
f.format(utilDate)  
java.sql.Date sqlDate=java.sql.Date.valueOf(" 2005-12-12");  
utilDate=new java.util.Date(sqlDate.getTime());  


 另類取得年月日的方法:  
import java.text.SimpleDateFormat;  
import java.util.*;  
java.util.Date date = new java.util.Date();  
//如果希望得到YYYYMMDD的格式SimpleDateFormat  
sy1=new SimpleDateFormat("yyyyMMDD");  
String dateFormat=sy1.format(date);  
//如果希望分開得到年,月,日SimpleDateFormat  
sy=new SimpleDateFormat("yyyy");  
SimpleDateFormat sm=new SimpleDateFormat("MM");  
SimpleDateFormat sd=new SimpleDateFormat("dd");  
String syear=sy.format(date);  
String smon=sm.format(date);  
String sday=sd.format(date);  </pre> 


 本文由用戶 4e48 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!