我如何从GMT格式以外的数据库获取日期?

问题描述

| 试图获取存储在datadase中的时间。
select dbtimezone from dual
给我-07:00 我正在使用Java程序从Oracle获取日期 第i列日期类型。 当我在Java程序中获取时间时,将其作为GMT进行获取。 其实我想要的时间,因为它是在数据库中没有转换的时间。 尽管我可以转换回-07:00,但我正在寻找另一种方法,因为转换始终取决于所使用数据库的dbtimezone。 谁能帮我 ? 提前致谢     

解决方法

如果您处理不同的时区,那么oracle只有一个时区会使生活变得困难。我一直认为,如果将时区视为视图工件,并且生活会更轻松, 将所有时间都表示为UTC,然后在视图中进行转换。您将时区信息放在数据库中的某个位置,然后进行相应的转换。 ...正确地做到这一点会很有趣,因为您不想犯同样的错误,即过于笼统。例如,客户可能位于特定时区,但在许多地方都设有办事处。尽管办公室位于特定时区,但与时间相关的活动可能涉及其他时区等。     ,请参阅
java.util.TimeZone
,更具体地说是
getOffset
方法,该方法返回毫秒数,该毫秒数将加到UTC时间以获得本地时间。请注意,它也考虑了夏时制。