【发布时间】:2020-02-21 20:39:37
【问题描述】:
我想将 java 本地时间传递给 PreparedStatement (java.sql.),如下所示:
ps.setTimestamp(id++, (localtime));
我不知道setTimestamp 是否正确,或者我是否应该使用setTime 甚至是另一个。我没有找到一个直接适合本地时间的,那么如何转换它以便将其传递给 Preparedstatement?
【问题讨论】:
-
取决于数据库中的列有什么数据类型...是哪一种?时间戳是日期时间(日期和时间)或以毫秒为单位的瞬间表示。可能还有更多的可能性。
-
您可以将所有时间数据转换为纪元时间并将其传递到准备好的语句中
-
@MadScientist 但
datetime不是time。 -
@MadScientist 如果您不打算使用日期部分,那么拥有
datetime列是没有意义的。 -
@MadScientist 然后与其他人交谈。您不能只是劫持一个列并决定将其用作不同的类型。如果列是
datetime,那么您必须将其用作datetime。听起来您正在尝试做错事,因此请在破坏某些内容之前询问您的同事。
标签: java time timestamp prepared-statement