如何使用SQL在数据库中插入当前日期和时间?

lak*_*hmi 11 java sql

我使用了以下代码,但SQL中的DateTime字段表示为:

2005-04-08 00:00:00
Run Code Online (Sandbox Code Playgroud)

我也想要时间.我应该改变什么?

这是我的代码如下:

// Get the system date and time.
java.util.Date utilDate = new Date();
// Convert it to java.sql.Date
java.sql.Date date = new java.sql.Date(utilDate.getTime());
...
...
...
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setDate(1, date);
Run Code Online (Sandbox Code Playgroud)

per*_*ian 11

尝试使用setTimestamp而不是setDate,因为时间戳是数据时间的首选格式.

  • java.sql.Date只支持日期,而不支持时间.从javadoc - "为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在特定时区中将小时,分钟,秒和毫秒设置为零来'标准化'该实例与之相关联." (3认同)

小智 5

你可以设置Timestamp import java.sql.Timestamp;

stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
Run Code Online (Sandbox Code Playgroud)

代替

stmt.setDate(1, date);
Run Code Online (Sandbox Code Playgroud)

o/p将是:2014-05-16 08:34:52.977

将您的DB --column设置为Timestamp.