【问题标题】:Saving Timestamp data but only with date in Java保存时间戳数据,但仅在 Java 中使用日期
【发布时间】:2014-06-14 02:00:13
【问题描述】:

我的一个数据库列的类型是时间戳格式(yyyy-MM-dd HH:mm:ss),但其中保存的数据是 2014-06-13 00:00:00。所以时间分量不会保存到数据库表中。

我正在尝试向该表中插入数据,但无法从我的数据中删除时间部分。

这是我正在做的事情:

long time = System.currentTimeMillis();
java.sql.Timestamp timestamp = new java.sql.Timestamp(time);

所以时间(长)= 1402710418003 和时间戳=2014-06-13 21:46:58.003

有没有办法可以从时间戳中删除时间部分? 例如:2014-06-13 或者 例如:2014-06-13 00:00:00

这是我准备好的声明:

java.util.Date currentDate= new java.util.Date();
sql_statement4.setTimestamp(6,new Timestamp(currentDate.getTime()));

sql_statement4 是一个 PreparedStatement 对象。

我希望该值采用时间戳格式。

我该怎么做?

【问题讨论】:

  • 不会被db调用删除吗?
  • 使用 PreparedStatement.setDate 代替 setTimestamp
  • @SotiriosDelimanolis DB 调用是什么意思?我正在插入数据。不,时间组件也被插入。
  • @BrettOkken 目前这就是我所做的。 sql_statement4.setTimestamp(6,new Timestamp(currentDate.getTime()));

标签: java jdbc


【解决方案1】:

您需要更改通话(来自您的评论),

sql_statement4.setTimestamp(6,new Timestamp(currentDate.getTime()));

sql_statement4.setDate(6,new java.sql.Date(currentDate.getTime()));

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2020-01-14
    • 2019-11-08
    • 1970-01-01
    相关资源
    最近更新 更多