【发布时间】:2015-05-01 19:40:09
【问题描述】:
我真的需要存储本地日期和时间(飞机轮子更新日期和时间)和 utc 偏移量,以便我可以转换为 utc 来计算间隔(飞行持续时间)。人们按当地时间旅行,您需要 UTC 进行跨时区计算。我曾希望使用 timestamptz 但它绝对不会 用于此目的。它将所有内容转换为 postgres 时区的函数。就我而言,这是yyyy-dd-mm hh:mi:ss-07。
但是,我研究 timetz 只是为了涵盖所有基础。它准确地存储了我需要的东西。它在向 UTC 提供偏移量的同时保留本地时间。除了现在我需要两列而不是一列来存储信息。
我的问题是: 为什么 timestamptz 和 timetz 函数给出不同的结果? 有没有办法让 timestamptz 包含本地时区偏移量而不是系统时区偏移量? 以下是说明差异的查询:
select cast('2015-05-01 11:25:00 america/caracas' as timestamptz)
-- 2015-05-01 08:55:00-07
;
select cast('2015-05-01 11:25:00 america/caracas' as timetz)
-- 11:25:00-04:30
;
【问题讨论】:
标签: postgresql timezone-offset