这里使用的是MySQL数据库, 在向表中datetime 字段设值时, 一般使用preparedStatement.setDate().
这样只能存入日期,而没有时间. 下面两个方法可以将年月日时分秒都保存进数据库.
1.使用preparedStatement.setTimestamp()
2.使用MySQL的时间函数
MySQL内置了一系列时间函数:
CURDATE()
CURRENT_DATE()
CURTIME()
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
可以直接在SQL语句中,使用这些函数, 替代本应由java注入的Date
这样只能存入日期,而没有时间. 下面两个方法可以将年月日时分秒都保存进数据库.
1.使用preparedStatement.setTimestamp()
//将当前日期时间存入数据库
pstmt.setTimestamp(4, new Timestamp(System.currentTimeMillis()));
pstmt.setTimestamp(4, new Timestamp((new java.util.Date()).getTime()));
2.使用MySQL的时间函数
MySQL内置了一系列时间函数:
CURDATE()
CURRENT_DATE()
CURTIME()
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
可以直接在SQL语句中,使用这些函数, 替代本应由java注入的Date
//将当前日期时间存入表t的create_date字段
insert into t (... , create_date) value (... ,?, CURRENT_TIMESTAMP());
insert into t (... , create_date) value (... ,?, NOW());