将 Postgres 中没有时区的日期时间字段从中欧时间转换为 UTC
Converting DateTime field without timezone in Postgres from Middle European TIme to UTC
我想将(在 Postgres 中使用 SQL 更新)没有时区的 DateTime 字段从中欧时间转换为 UTC。
这里有个问题,DateTime可能是夏令时,也可能是冬令时,所以DateTime是UTC+1或者UTC+2。症结在于用 bord 方法找到 Postgres 的 DST 边界。
我试图编写一个可以找到上述 DST 边界的存储过程,但我没有找到任何简单合适的解决方案,但这个解决方案:
https://www.keithf4.com/postgresql_dst/
是否有更简单的解决方案?
很简单。将其转换为绝对时间戳并返回。如果您正确指定时区,将自动考虑夏令时。
对于奥地利,它看起来像这样:
SELECT TIMESTAMP '...' AT TIME ZONE 'Vienna/Europe' AT TIME ZONE 'UTC';
我想将(在 Postgres 中使用 SQL 更新)没有时区的 DateTime 字段从中欧时间转换为 UTC。 这里有个问题,DateTime可能是夏令时,也可能是冬令时,所以DateTime是UTC+1或者UTC+2。症结在于用 bord 方法找到 Postgres 的 DST 边界。
我试图编写一个可以找到上述 DST 边界的存储过程,但我没有找到任何简单合适的解决方案,但这个解决方案: https://www.keithf4.com/postgresql_dst/
是否有更简单的解决方案?
很简单。将其转换为绝对时间戳并返回。如果您正确指定时区,将自动考虑夏令时。
对于奥地利,它看起来像这样:
SELECT TIMESTAMP '...' AT TIME ZONE 'Vienna/Europe' AT TIME ZONE 'UTC';