使用Oracle9.2i,我需要从一个时区相对于另一个时区获得不同日期的偏移量,以前我是这样做的

select

(TO_DATE('10-Oct-2010 09:00:00','DD-Mon-YYYY HH24:Mi:SS') -

TO_DATE(TO_CHAR(FROM_TZ(to_timestamp( '10-Oct-2010 09:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'Australia/Victoria')

AT TIME ZONE 'Australia/West' , 'DD-Mon-YYYY HH24:Mi:SS'),'DD-Mon-YYYY HH24:Mi:SS'))

from dual

虽然有点凌乱,但很适合我的需要。现在的问题是,这似乎没有考虑到日光节约。10月10日维多利亚州和西澳大利亚州的时差实际上是3小时,而不是2小时(我的查询目前返回)。

现在这很奇怪,正如我认为的那样,从“TZ”开始就意味着要处理DST。更奇怪的是,如果我把格林尼治标准时间与格林尼治标准时间相比较,我会得到正确的结果。

select FROM_TZ(to_timestamp( '10-Oct-2010 00:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'GMT') AT TIME ZONE 'Australia/West'

from dual

FROM_TZ(TO_TIMESTAMP('10-OCT-2

------------------------------

10-OCT-10 08.00.00.000000000 AM AUSTRALIA/WEST

对的

select FROM_TZ(to_timestamp( '10-Oct-2010 00:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'GMT') AT TIME ZONE 'Australia/Victoria'

from dual

FROM_TZ(TO_TIMESTAMP('10-OCT-2

------------------------------

10-OCT-10 11.00.00.000000000 AM AUSTRALIA/VICTORIA

对的

select FROM_TZ(to_timestamp( '10-Oct-2010 00:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'Australia/Victoria') AT TIME ZONE 'Australia/West'

from dual

FROM_TZ(TO_TIMESTAMP('10-OCT-2

------------------------------

09-OCT-10 10.00.00.000000000 PM AUSTRALIA/WEST

错了。2010年10月10日上午00:00:00在澳大利亚西部,时间为10月9日上午09:00.00。

所以问题是,这是一个bug吗?或者我只是在用这个词吗?时区错误?

谢谢。

更新:

我认为这可能是to-char函数中的一个bug,它似乎得到了错误的tz偏移。虽然from-tz可以正确地从格林尼治标准时间更改为维多利亚时间,但当您试图从该时间中提取Tz偏移量时,它会说它是+10,当它应该是+11时。

select TO_CHAR(FROM_TZ(to_timestamp( '10-Oct-2010 00:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'Australia/Victoria'), 'TZH:TZM')

,FROM_TZ(to_timestamp( '10-Oct-2010 00:00:00','DD-Mon-YYYY HH24:Mi:SS'), 'GMT') AT TIME ZONE 'Australia/Victoria'

from dual

TO_CHAR(FROM_TZ(TO_TIMESTAMP(' FROM_TZ(TO_TIMESTAMP('10-OCT-2

--------------------------------------------------------------------------- ------------------------------

+10:00 10-OCT-10 11.00.00.000000000 AM AUSTRALIA/VICTORIA

oracle北京时区,Oracle中的时区偏移相关推荐

  1. php中date设置北京时区,PHP中设置时区方法小结

    PHP代码中的时间判断语句出了点问题,问题出在PHP的时区设置上,PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时.找到原因后,在网上搜索到了一些关于PHP的时区设置方法:1.修改ph ...

  2. php 配置文件设置时区_PHP中设置时区方法

    一直以来,发现iProber.php探针显示的服务器时区有问题,尽管已经将服务器时区设置为Asia/Shanghai,仍然无法解决这个问题.经过参阅网络上的相关文章,才发现问题出在PHP的时区设置上, ...

  3. PHP设定美国东部时区,PHP中设置时区方法总结

    方法一,在php页面设置时区 在页面最前面加上下面应用一种都是可以的 date_default_timezone_set用法如下 date_default_timezone_set (PHP 5 &g ...

  4. php datetime 时区,datetime-php中的时区转换

    datetime-php中的时区转换 谁能建议一种简单的方法将日期和时间转换为php中的不同时区? 8个解决方案 108 votes 您可以为此使用datetime对象或其函数别名: 示例(摘自PHP ...

  5. django mysql 时区_django 中的时区设置

    在settings.py中设置了 TIME_ZONE = 'Asia/Shanghai' USE_TZ = True 现在的北京时间是 22点35分.django shell 中运行 timezone ...

  6. 【Linux基础】Linux中的时区和时间

    基本概念 首先介绍Linux中会用到的时间概念: UTC:Universal Time Coordinated,协调世界时,又称世界统一时间,世界标准时间,国际协调时间.它是一个与时区相关的时间,目前 ...

  7. oracle 时区转换_Oracle中的时区转换

    oracle 时区转换 大家好, 在下面找到一些有关oracle中时区转换的有用信息. 希望这对他们中的许多人有所帮助,因为我们工作的所有实时项目都遵循不同的时区(EST,PST等),因此您可能需要根 ...

  8. oracle服务器的操作系统,Oracle Linux 操作系统及数据库的时区机制分析

    Oracle Linux 操作系统及数据库的时区机制分析 1. /etc/localtime 这个文件记录的是系统的时区,缺省的数据库由此获得时区信息 这个文件是二进制文件,修改该文件的方法是拷贝/u ...

  9. java 中的sql.date_SQL DATE中的时区vs java.sql.Date

    小编典典 在JDBC规范不问候时区定义的任何细节.尽管如此,我们大多数人都知道必须处理JDBC时区差异的痛苦. 最终,日期/时间数据库类型的时区处理归结为数据库服务器,JDBC驱动程序以及两者之间的所 ...

  10. oracle extract类型,Oracle中extract()函数

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在学习Oracle数据库的过程中,难免会有一些截取年月日或者获取两个日期之间的具体时间间隔或者获取interval类型特定部分的相关问题,那么下面的ext ...

最新文章

  1. 5.7.20mysql修改密码,ubuntu系统mysql5.7.20忘记root密码修改
  2. Python矩阵的用法(使用numpy)
  3. python搭建webapi_怎么搭建Web Api
  4. 社团管理系统用c语言1000,图书馆管理系统C语言啊1000行啊,哪位老哥有啊??...
  5. java runnable 使用_java – 在哪里使用可调用以及在哪里使用Runnable接口?
  6. STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试
  7. VC2013配置OpenCV开发环境
  8. Vissim与java(IntelliJ IDEA )联调环境配置
  9. keil转换c为汇编语言,如何用Keil生成bin、汇编、C与汇编混合文件?
  10. 谷歌浏览器提示因应用程序的并行配置不正确无法启动
  11. data could not be sent to remote host
  12. python判断英文字母_python判断字符串中是否含有英文 | 张先生博客
  13. 前端性能优化工具waterfall
  14. Gartner技术成熟曲线详解
  15. 计算机冗余,惯性导航计算机系统冗余设计
  16. 红黑树 原理和算法详细介绍(Java)
  17. 鸭子在叫哟,嘎嘎嘎---策略模式
  18. Mysql+Canal1.1.5+Es实现数据同步
  19. 谈谈JavaEye这个技术圈子
  20. solidworks2019无法获得下列许可solidworksstandard无效的(不一致的)使用许可号码(-8,544,0)(我的版本是SolidWorks2016)

热门文章

  1. size_t、ssize_t、int、long的比较
  2. java flightrecorder_java 11 Java Flight Recorder
  3. web如何伪装自己的IP地址
  4. npm启动报错Eorror:ENOENT no such file or directory ‘/node-sass/vender‘
  5. leetcode174.地下城游戏
  6. angular- Directive
  7. h5 监听安卓物理返回键
  8. 微信小程序时间轴demo_微信小程序时间轴实现方法示例
  9. 科普一下bl锁的知识,没解锁的必看!
  10. 死链检查工具 Xenu