关于oracle的timestamp with time zone的问题

calmer_j 2009-12-23 11:43:24
在oracle的“Oracle® Database Globalization Support Guide”文档中

有关timestamp with timezone的描述让我无法理解。

Two TIMESTAMP WITH TIME ZONE values are considered identical if they represent the same instant in UTC, regardless of the TIME ZONE offsets stored in the data. For example, the following expressions have the same value:

TIMESTAMP '1999-01-15 8:00:00 -8:00'
TIMESTAMP '1999-01-15 11:00:00 -5:00'

-----------
TIMESTAMP '1999-01-15 8:00:00 -8:00'
TIMESTAMP '1999-01-15 11:00:00 -5:00'
-----------

这两个数据的utc instance时间是多少?
TIMESTAMP '1999-01-15 8:00:00 -8:00'——》utc time"1999-01-15 0:00:00"
TIMESTAMP '1999-01-15 11:00:00 -5:00'——》utc time"1999-01-15 6:00:00"
还是其他?

怎么得出“the following expressions have the same value”这个结论的?
...全文
387 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
calmer_j 2009-12-23
  • 打赏
  • 举报
回复
我晕,还不能给自己结帖子。
calmer_j 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fatfoxz 的回复:]
引用 1 楼 calmer_j 的回复:
如果是
TIMESTAMP '1999-01-15 8:00:00 -8:00'——》utc time"1999-01-15 16:00:00"
TIMESTAMP '1999-01-15 11:00:00 -5:00'——》utc time"1999-01-15 16:00:00"

的话就是相同的了?应该是如此吧。

减号怎么计算啊?我也想知道。
[/Quote]
以英国的格林威治天文台为分界线,以东180度为+xx的时区,以西180度为-xx的时区。

'1999-01-15 8:00:00 -8:00'——》utc time"1999-01-15 16:00:00"
“'1999-01-15 8:00:00”为当地时间。“-8:00”为以西180度为-xx的时区。

所以“'1999-01-15 8:00:00 ”-“-8:00”为格林威治时间的“1999-01-15 16:00:00”。
也就是说utc时间为“1999-01-15 16:00:00”时,“-8.00”时区的时间为“1999-01-15 8:00:00”, “-5:00的”时区的时间为“'1999-01-15 11:00:00'”,如果以utc时间为标准的话,是同一时间。

“ The time zone offset is the difference (in hours and minutes) between local time and UTC (Coordinated Universal Time, formerly Greenwich Mean Time)”这段是oracle对time offset的定义。
fatfoxz 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 calmer_j 的回复:]
如果是
TIMESTAMP '1999-01-15 8:00:00 -8:00'——》utc time"1999-01-15 16:00:00"
TIMESTAMP '1999-01-15 11:00:00 -5:00'——》utc time"1999-01-15 16:00:00"

的话就是相同的了?应该是如此吧。
[/Quote]
减号怎么计算啊?我也想知道。
calmer_j 2009-12-23
  • 打赏
  • 举报
回复
如果是
TIMESTAMP '1999-01-15 8:00:00 -8:00'——》utc time"1999-01-15 16:00:00"
TIMESTAMP '1999-01-15 11:00:00 -5:00'——》utc time"1999-01-15 16:00:00"

的话就是相同的了?应该是如此吧。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧