问题描述
|
试图获取存储在datadase中的时间。
select dbtimezone from dual
给我-07:00
我正在使用Java程序从Oracle获取日期
第i列日期类型。
当我在Java程序中获取时间时,将其作为GMT进行获取。
其实我想要的时间,因为它是在数据库中没有转换的时间。
尽管我可以转换回-07:00,但我正在寻找另一种方法,因为转换始终取决于所使用数据库的dbtimezone。
谁能帮我 ?
提前致谢
解决方法
如果您处理不同的时区,那么oracle只有一个时区会使生活变得困难。我一直认为,如果将时区视为视图工件,并且生活会更轻松,
将所有时间都表示为UTC,然后在视图中进行转换。您将时区信息放在数据库中的某个位置,然后进行相应的转换。
...正确地做到这一点会很有趣,因为您不想犯同样的错误,即过于笼统。例如,客户可能位于特定时区,但在许多地方都设有办事处。尽管办公室位于特定时区,但与时间相关的活动可能涉及其他时区等。
,请参阅
java.util.TimeZone
,更具体地说是getOffset
方法,该方法返回毫秒数,该毫秒数将加到UTC时间以获得本地时间。请注意,它也考虑了夏时制。