如何使用java设置完整的日期和时间sql,而不仅仅是日期?

Ada*_*ris 23 java mysql datetime jdbc prepared-statement

我正在尝试使用java在我的数据库中设置时间戳,但是在我的表中,我得到的只是日期,没有时间(即,看起来像"2010-09-09 00:00:00").

我使用我的mysql数据库中的日期时间字段(因为它似乎日期时间是比较常见的比时间戳).我设置日期的代码如下所示:

PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Date timestamp = new java.sql.Date(today.getTime());
ps.setDate(1, timestamp);
ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

如何设置日期以包含时间?

编辑: 我按照下面的说法更改了代码,并设置了日期和时间.

PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Timestamp timestamp = new java.sql.Timestamp(today.getTime());
ps.setTimestamp(1, timestamp);
ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

Col*_*inD 28

使用java.sql.TimestampsetTimestamp(int, Timestamp).java.sql.Date与日期无关,无论其存储的列类型如何.