【问题标题】:How to insert current date into MySQL database use Java?如何使用 Java 将当前日期插入 MySQL 数据库?
【发布时间】:2012-10-18 05:55:44
【问题描述】:

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

我输入了以下代码:

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

当我检查数据库时,我发现日期插入正确,但时间是:00:00:00。解决方法是什么?

【问题讨论】:

  • 你的 MySQL 数据库中列的数据类型是什么?
  • @doublesharp。他在那里写过。它的日期时间。

标签: java mysql


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    PrepStmt.setTimestamp(1, timestamp);
    

    【讨论】:

      【解决方案3】:

      听起来你需要

      java.sql.Timestamp
      

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

      【讨论】:

        【解决方案4】:

        尝试使用 setTimestamp 作为

        PrepStmt.setTimestamp(1, sqlDate);
        

        【讨论】:

          【解决方案5】:

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

          尝试使用这个:-

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

          【讨论】:

            【解决方案6】:
            java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
            PrepStmt.setTimestamp(1, date);
            

            我用这个解决了..

            【讨论】:

              猜你喜欢
              • 2019-10-12
              • 2015-07-31
              • 1970-01-01
              • 1970-01-01
              • 2013-11-23
              • 1970-01-01
              • 2020-08-11
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多