首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Postgresql选择输出日期和缺少时区偏移量

Postgresql选择输出日期和缺少时区偏移量
EN

Stack Overflow用户
提问于 2018-04-20 15:16:58
回答 2查看 1.9K关注 0票数 1

我很难处理postgresql和时区。

Postgresql服务器位于UTC时区中。我希望执行一个查询,返回中的日期,另一个带有时区偏移量的时区。

我可以执行一个查询,返回时区中的日期,但是我缺少时区偏移量

代码语言:javascript
运行
复制
base=# SET timezone to 'utc';
SET
base=# select now();
             now              
------------------------------
 2018-04-20 14:58:22.68038+00
(1 row)

base=# SET timezone to 'Europe/Paris';
SET
base=# select now();
              now              
-------------------------------
 2018-04-20 16:58:29.614383+02
(1 row)


base=# SET timezone to 'utc';
SET
base=# select now() AT TIME ZONE 'Europe/Paris';
          timezone          
----------------------------
 2018-04-20 16:59:03.146917   -- missing timezone offset here
(1 row)

预期结果

代码语言:javascript
运行
复制
base=# SET timezone to 'utc';
SET
base=# select now() AT TIME ZONE 'Europe/Paris'; --I'm missing something here, I guess
          timezone          
----------------------------
 2018-04-20 16:59:03.146917+02   -- That's what I want
(1 row)

你知道怎么做吗?

谢谢

EN

Stack Overflow用户

发布于 2018-04-23 09:06:43

  • 某些时区在30或45分钟内有偏移。使用TO_CHAR(EXTRACT(hour FROM NOW() AT TIME ZONE 'Europe/Paris' - NOW() AT TIME ZONE 'UTC')排除此用例。
  • 您考虑过在专用函数中使用SET LOCAL TIME ZONE 'Europe/Paris';吗?根据文件:

如果在对同一变量具有SET选项的函数中使用SET LOCAL (请参阅CREATE函数),则SET本地命令的效果在函数退出时消失

另一个答案似乎符合您的要求:How to convert timestamp field to ISO 8601 string in a given time zone?

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49944856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档