【问题标题】:Adjusting a timestamp with a timezone使用时区调整时间戳
【发布时间】:2018-05-02 16:49:32
【问题描述】:

我正在使用 postgres,并且我有一个没有时区的时间戳和一个“-2”形式的时区偏移量。如何将偏移量应用于时区?我知道像 date - interval '2 hours' 这样的东西适用于固定偏移量,但我无法弄清楚如何使用另一列中的变量来做到这一点。

【问题讨论】:

  • 你能发布一些示例数据吗?输入和预期输出。 “来自另一列的变量”的格式是什么?
  • 2015-10-17 05:33:09-5 我希望它是 2015-10-17 00:33:09

标签: postgresql datetime timezone-offset


【解决方案1】:

这样的事情应该可以为您解决问题:

CASE WHEN offset_var > 0 THEN timestamp_no_tz + (offset_var || ' hour')::INTERVAL 
WHEN offset_var < 0 THEN timestamp_no_tz - (abs(offset_var) || ' hour')::INTERVAL 
ELSE timestamp_no_tz END

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2022-06-22
    • 2018-02-14
    相关资源
    最近更新 更多