JDBC中日期時間的處理


1.數據庫中的日期時間類型與Java類中日期時間的對應

  1. 日期類型用java.sql.Date
  2. 時間類型用java.sql.Time
  3. 日期/時間類型用java.sql.Timestamp
    范例:在oracle數據庫中通過,
    select sysday from dual
    獲取當前時間,在通過ResultSet獲取查詢結果時,用:getTimestamp(),可以把年月日時分秒都取出來,調用getDate()只能取出年月日,調用getTime()只能取出時分秒。

2.盡量不要調用getString()來獲取日期/時間類型的數據

調用getString()獲取時間類型的數據,JDBC在內部將日期/時間轉換為字符串;但是這個字符串的格式卻取決於數據庫導致兼容性較差。

3.如何將JDBC的日期/時間類型轉換為字符串

	java.sql.Timestamp timeStamp = //通過數據庫訪問獲取到該數據 
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
	String str = sdf.format(timeStamp);

4.select、update或insert時,如果某個字段為日期/時間類型,最好用PreparedStatement

	PreparedStatement pstmt = conn.prepareStatement("insert into tab ( begin_date ) values( ?)"); 
	pstmt.setTimestamp(1, new Timestamp(System.currentTimeMillis())); 
	pstmt.execute();

5.java.sql.Timestamp如何轉換為java.util.Date

java.sql.Timestamp是java.util.Date的子類,不需要做任何轉換直接賦值即可:

	   java.sql.Timestamp ts; 
		java.util.Date utilDate; 
		utilDate = ts;

6. java.util.Date轉換為java.sql.Timestamp

	 java.sql.Timestamp ts; 
	java.util.Date utilDate; 
	ts.setTime(utilDate.getTime());			  

7.mysql數據庫中的日期時間

  1. NOW()、SYSDATE()函數以`'YYYY-MM-DD HH:MM:SS'返回當前的日期時間,可以直接存到DATETIME字段中。
    比如:select NOW(),SYSDATE();
  2. CURDATE()、CURRENT_DATE以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。
    比如:SELECT CURDATE(),CURRENT_DATE;
  3. CURTIME()、CURRENT_TIME以’HH:MM:SS’的格式返回當前的時間,可以直接存到TIME字段中。
    比如:SELECT CURRENT_TIME(),CURRENT_TIME;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM