如何使用java将当前日期插入mysql数据库

时间:2012-10-28 20:40:20

标签: java mysql

我想将当前日期和时间插入到定义为日期时间类型的列中。

我输入以下代码:

java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);

当我检查数据库时,我发现日期插入正确,但时间是:00:00:00。有什么问题?

6 个答案:

答案 0 :(得分:22)

由于您使用datetime作为列类型,因此您需要使用java.sql.Timestamp来存储日期,并使用PrepareStatement.setTimestamp来插入日期。

尝试使用: -

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);

答案 1 :(得分:9)

你使用的是错误的方法。您可以改为使用PreparedStatement#setTimestamp(int parameterIndex, Timestamp x)

答案 2 :(得分:3)

您需要使用的是setTimestamp(int parameterIndex,Timestamp x)方法而不是setDate()方法。

您可以设置时间戳的方法之一如下:

Timestamp timestamp = new Timestamp(new Date().getTime());

然后,您可以将参数设置为:

PrepStmt.setTimestamp(1, timestamp);

答案 3 :(得分:3)

听起来像你需要

java.sql.Timestamp

您使用java.sql.Date的那个仅用于处理日期而不记录时间。或者,如果您只想要时间,可以使用java.sql.Time

答案 4 :(得分:2)

尝试使用setTimestamp作为

PrepStmt.setTimestamp(1, sqlDate);

答案 5 :(得分:1)

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);

我用这个解决了..