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后插入到数据库