我想在我的数据库中使用java设置一个时间戳,但是在我的表中,我所得到的只是日期,没有时间(即看起来像“2010-09-09 00:00:00”)。如何使用java设置完整的日期和时间sql,而不仅仅是日期?
我在我的mysql数据库上使用datetime字段(因为它的appears表示datetime is more common than timestamp)。我设置日期的代码如下所示:
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();
如何设置包含时间的日期?
编辑:我改变了代码按照下面,它设置日期和时间。
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();
你不应该处理字符串格式的日期/时间将它们保存到或从数据库中读取他们的时候。 JDBC的抽象例如'setTimestamp'和'getTimestamp'可以让这个不必要。 – ColinD 2010-09-09 14:51:16
thx,我误读了,没有注意到sql。我的错误 – oyo 2010-09-09 14:59:26