简而言之,在输入到我的Postgres DB时,我有一个格式为“2014-12-10T12:00:14 + 07:00”的时间戳,我想用'timestampandtz'Postgres C扩展名(https://github.com/mweber26/timestampandtz) ,但我不知道如何处理确定时区的问题。在带有C扩展名的Postgres DB中存储带时区的时间戳?
由于扩展名将输入与zones.c中的完整时区名称进行比较,数据类型将不知道如何处理“+07:00”而不是“@ Continent/City”,它期望在输入。
事情是,我需要从“+07:00”以某种方式拉出城市,因为我确实需要夏令时分辨率。 另外,我知道这些时间戳只来自一个国家,所以也许可以基于此来确定“@洲/城市”。
任何POV关于如何接近这一挑战将不胜感激,谢谢!
即使没有扩展名,PostgreSQL也能够毫无问题地处理转换。我尝试了PG 9.6命令,就像这样在时区'Europe/Berlin''上选择'(2014-12-10T12:00:14 + 07:00'::带时区的时间戳),并且工作正常。 PostgreSQL在时区表中标记了应用夏令时规则的时间表。所以我会先尝试标准的方式。 – JosMac
@JosMac当然,这是正确的事情。但由于我不知道这个城市,所以+ XX - >大陆/城市的关系,我需要自己翻译,因为DST是一个需求... – Rehhyo