java.util.Date和java.sql.Date相互轉換問題


1、用的mysql數據庫,情況是這樣的:在發布信息時發布時間用java.util.date生成當前系統時間
然后在插入數據庫的時候怎么把這個時間轉換成java.sql.date插入表中?

 java.sql.Date date=new java.sql.Date(d.getTime());  (其中d是java.util.Date類型)

2、用的mysql數據庫,學生信息表中的生日類型是Date類型,java程序向數據庫中插入數據:

(僅包括核心代碼)

  Connection conn = null;
  Date d = null;
   Class.forName("com.mysql.jdbc.Driver");
   String url = "jdbc:mysql://localhost/student?characterEncoding=gbk";
   String user = "root";
   String password = "vlab214";
   conn = DriverManager.getConnection(url, user, password);
   
   SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");
    d = format.parse("2008-12-09");         //字符串轉化成Date類型(這里是java.util.Date)
   
   String sql = "insert into tab_stuinf values(?,?,?,?,?)";
   PreparedStatement pstmt = null;
   pstmt = conn.prepareStatement(sql);
   pstmt.setInt(1, 7667);
   pstmt.setString(2, "mary");
   java.sql.Date date=new java.sql.Date(d.getTime());  //把java.util.Date轉換成java.sql.Date
   pstmt.setDate(3, date);
   pstmt.setString(4, "女");
   pstmt.setInt(5, 9);
   pstmt.execute();
   
      if(conn!=null)
      conn.close();
    當然,對於這個問題也可不必這么麻煩,直接將pstmt.setDate(3, date)改為pstmt.setString(3, "2008-12-09")也可插入數據表

3、(來自百度百科,沒有測試)

我想將util中的Date轉換成sql中的Date,這樣來轉換
java.sql.Date ds=new java.sql.Date(new java.util.Date().getTime())
但只輸出了年月日,我想輸出這樣的格式的:yyyy-MM-dd hh:mm:ss
要怎樣寫呢?
還有,怎樣讓數據庫中顯示的日期是:yyyy-MM-dd hh:mm:ss格式呢?我通過上面的轉換后寫入數據庫,在數據庫中顯示的結果為是:yyyy-MM-dd 00:00:00,是mysql數據庫,字段類型為:datetime
我要的是這樣的啊:2008-12-27 18:28:36

    呵呵,我找到了一個方法:Timestamp.valueOf(String s),變成Timestamp后插入到數據庫


免責聲明!

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



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