java - 在 MySQL 中使用 java.util.Date 对象插入当前日期和时间

标签 java mysql datetime

我在 MySQL created_on 中有一个数据类型为 DATETIME 的字段。对于该字段,我必须插入当前日期和时间。我获取了 java.util.Date 对象。

Date dateobj = new Date()
String query = "insert into users(created_on) values(?)";
ps = con.prepareStatement(query);
ps.setDate(1, new java.sql.Date(dateobj.getTime()));
insert_flag=ps.executeUpdate();

查询执行正常,但它仅插入当前日期为 00:00:00。 我想要当前日期和时间(例如:2015-10-28 03:23:50)

最佳答案

要插入日期和时间,您需要使用 setTimestamp而不是 setDate并且数据库列的数据类型必须是 DATETIME(或 TIMESTAMP)。

引用 setDate Javadoc:

The driver converts this to an SQL DATE value when it sends it to the database.

并引用 MySQL documentation :

The DATE type is used for values with a date part but no time part.

工作代码:

ps.setTimestamp(1, new java.sql.Timestamp(new Date().getTime()));

关于java - 在 MySQL 中使用 java.util.Date 对象插入当前日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387871/

相关文章:

java - Java 中的自动化和可编程重构

java - DecorContext 转换 Activity

mysql插入错误1062

mysql - SQL Select 连接同一个表(按回复最多排序)

mysql - 如何判断 MySQL 中的另一个文本元素中是否包含一个字符串

java - 摆脱java中的方括号

java - Akka http 使用 java - 从 RequestEntity 获取字符串

python - 在 python 3.3 中使用时区更新的字符串

javascript - 我们如何在 Sencha ExtJS 版本 6.0.2 中全局设置我们想要使用的时区?

php - 在 PHP 中将一种日期格式转换为另一种日期格式