【问题标题】:Converting DateTime field without timezone in Postgres from Middle European TIme to UTC将 Postgres 中没有时区的 DateTime 字段从中欧时间转换为 UTC
【发布时间】:2020-03-27 06:28:51
【问题描述】:

我想将没有时区的 DateTime 字段从中欧时间转换为 UTC(在 Postgres 中使用 SQL 更新)。 这里有一个问题,DateTime 可能是夏令时或冬令时,因此 DateTime 是 UTC+1 或 UTC+2。症结在于用bord手段找到Postgres的DST边界。

我尝试编写一个可以找到上述 DST 边界的存储过程,但除了这个之外,我没有找到任何简单合适的解决方案: https://www.keithf4.com/postgresql_dst/

是否有更简单的解决方案?

【问题讨论】:

    标签: postgresql utc dst


    【解决方案1】:

    这很简单。将其转换为绝对时间戳并返回。如果您正确指定时区,将自动考虑夏令时。

    对于奥地利,它看起来像这样:

    SELECT TIMESTAMP '...' AT TIME ZONE 'Vienna/Europe' AT TIME ZONE 'UTC';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 2021-02-14
      相关资源
      最近更新 更多