首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有时区的时间戳在OJDBC6和OJDBC8之间不同

带有时区的时间戳在OJDBC6和OJDBC8之间不同
EN

Stack Overflow用户
提问于 2020-09-15 20:02:14
回答 1查看 442关注 0票数 0

我确实对OJDBC8有一个问题。不久前,我决定从OJDBC6 -> OJDBC8和一些在停止工作之前工作的功能切换。我有一个具有GMT-4和所有其他属性的Calendar对象.当我使用OJDBC6时,下面的代码工作得很好,时间戳会调整到时区。

代码语言:javascript
复制
rs.getTimestamp(1, calendar)

当使用OJDBC8和上面相同的代码时,时间戳不会被调整,基本上时间戳不会改变它的值与数据库中的值相同。我已经检查了OJDBC8代码,并且版本6和8之间的逻辑是不同的。我不明白为什么我们将日历对象传递给getTimestamp()方法,但它甚至没有在OJDBC8中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-15 20:28:16

注意,ojdbc8的Java编译器级别是Java-8,而ojdbc6的编译器级别是Java-6。在Java-8环境下,引入了一个全新的日期时间API .遗留的日期时间API (java.util)容易出错,使用它们的代码过去很复杂,很难理解。

您应该使用现代日期时间API (java.time)并按以下方式执行:

代码语言:javascript
复制
OffsetDateTime odt = rs.getObject(1, OffsetDateTime.class);

日期:时间了解有关现代日期时间API的更多信息。

您将作出的改变,以切换到现代的日期时间API将是值得的,并将有助于您的长期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63909083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档