java.util.Date和java.sql.Date的區別及使用

Java.sql.Date是java.util.Date的子類,其中,java.util.Date還有兩個常用的子類:java.sql.Time和java.sql.Timestamp。


java.sql.Date就是與數據庫Date相對應的一個類型(數據庫操作),而java.util.Date是純java的Date。

從類 java.util.Date 繼承的方法  
after, before, clone, compareTo, equals, getDate, getDay, getMonth, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setMonth, setYear, toGMTString, toLocaleString, UTC 


把一個日期值寫入數據庫中,發現由java.util.Date轉存爲java.sql.Date後,只有年月日,沒有了時分秒: 

  1. java.util.Date ud = new java.util.Date();   
  2. java.sql.Date sd = new java.sql.Date(ud.getTime()); 

  這個可是不行的,用戶至少要精確到分。由於java.sql.Date爲了能夠遵守sql日期標準,把所有時分秒都歸了零。只有用Timestamp來進行保存,由於Timestamp是子類,因此寫好的bean裏面不需要修改數據類型。 

  1. pstmt.setTimestamp(15, new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()));  //當前時間  
  2. pstmt.setTimestamp(16, new java.sql.Timestamp(userFile.getCreateTime().getTime()));  //指定時間  

java.util.Date可以通過和Calendar類結合使用,操作日期和時間(時分秒)。
java.sql.Date可以通過和Calendar類結合使用,操作日期,但不能操作時間(時分秒),因爲裏面的方法很多都廢棄了。
java.sql.Time可以通過和Calendar類結合使用,操作時間(時分秒),但不能操作日期,因爲裏面的方法很多都廢棄了。
java.sql.Timestamp最好用,既可以操作時間,也可以操作日期


在使用SimpleDateFormat時格式化時間的 yyyy.MM.dd 爲年月日而如果希望格式化時間爲12小時制的,則使用hh:mm:ss 如果希望格式化時間爲24小時制的,則使用HH:mm:ss

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章