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后插入到數據庫