我有一个应用程序,它以GMT时间存储时间,但与具有Olsen tz名称(例如“America / New York”)的机场相关联。
我需要确定给定日期是否在当地夏令时期间内。
我能找到的最接近的方法是TZ_OFFSET('Tzname'),但没有简单的方法来获取相对于某个日期的下一个DST开始/结束时间。
这似乎是朝着正确方向迈出的一步...
选择将mydate作为时间戳转换为'GMT'时区的结果,同时使用myzoneName作为时区转换为本地时间:
select cast (mydate as timestamp) at time zone 'GMT' as mydateZ, from_tz(cast (mydate as timestamp),'GMT') at time zone myzoneName as mydateLocal