简而言之,在输入我的Postgres数据库时,我有一个格式为“2014-12-10T12:00:14 + 07:00”的时间戳,我想使用'timestampandtz'Postgres C扩展名({ {3}}),但我不知道如何处理确定时区的问题。
由于扩展将输入与zones.c中的完整时区名称进行比较,因此数据类型将不知道如何处理“+07:00”而不是“@ Continent / City”,它在输入中预期
问题是,我需要从“+07:00”以某种方式拉出城市,因为我确实需要夏令时解析。 此外,我知道这些时间戳只来自一个国家,因此可以根据此确定“@ Continent / City”。
非常感谢任何关于如何应对这一挑战的POV,谢谢!
答案 0 :(得分:1)
我担心你运气不好。无法将+07:00
之类的时间偏移量自动转换为US/Eastern
这样的时区。
原因是同一时间偏移可以属于不同的时区。例如,-05:00
目前可以是America/Lima
或US/Central
,但这些是不同的时区 - 前者没有夏令时。
所以你必须自己想出一个翻译,例如:如果您知道具有特定时间偏移的所有数据属于哪个时区。