将 java.sql.Date 转换为 java.util.Date
将 java.sql.Date 对象转换为 java.util.Date 同时保留时间戳的最简单方法是什么?
我尝试过:
java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());
没有运气。它仍然只将日期部分存储到变量中。
What's the simplest way to convert a java.sql.Date object to a java.util.Date while retaining the timestamp?
I tried:
java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());
with no luck. It's still only storing the date portion into the variable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
java.sql.Date 类被设计为仅携带日期而不携带时间,因此您看到的转换结果对于该类型是正确的。您需要使用 java.sql.Timestamp 来获取完整的日期和时间。
The class java.sql.Date is designed to carry only a date without time, so the conversion result you see is correct for this type. You need to use a java.sql.Timestamp to get a full date with time.
如果您确实希望运行时类型为 util.Date,那么只需执行以下操作:
Brian。
If you really want the runtime type to be util.Date then just do this:
Brian.
由于
java.sql.Date
扩展了java.util.Date
,你应该能够这样做Since
java.sql.Date
extendsjava.util.Date
, you should be able to do此函数将从 SQL 日期对象返回转换后的 java 日期。
This function will return a converted java date from SQL date object.
通过阅读源代码,如果
java.sql.Date
确实有时间信息,调用getTime()
将返回一个包含时间信息的值。如果这不起作用,则该信息不在 java.sql.Date 对象中。我预计 JDBC 驱动程序或数据库(实际上)正在将时间分量归零……或者信息一开始就不存在。
我认为你应该使用 java.sql.Timestamp 和相应的结果集方法以及相应的 SQL 类型。
From reading the source code, if a
java.sql.Date
does actually have time information, callinggetTime()
will return a value that includes the time information.If that is not working, then the information is not in the
java.sql.Date
object. I expect that the JDBC drivers or the database is (in effect) zeroing the time component ... or the information wasn't there in the first place.I think you should be using
java.sql.Timestamp
and the corresponding resultset methods, and the corresponding SQL type.在最近的实现中,java.sql.Data是java.util.Date的子类,因此不需要转换。
请参阅此处:https://docs.oracle。 com/javase/1.5.0/docs/api/java/sql/Date.html
In the recent implementation, java.sql.Data is an subclass of java.util.Date, so no converting needed.
see here: https://docs.oracle.com/javase/1.5.0/docs/api/java/sql/Date.html