在 Postgresql 中,如何使用“At Time Zone”取消反转时区偏移

2024-01-03

我正在尝试了解 Postgresql 时区,但我似乎无法弄清楚这一点。 EST 是美国的“东部标准时间”,通常是UTC-5 http://en.wikipedia.org/wiki/Eastern_Time_Zone.

示例 1:基础测试

select '08/31/2011 12:00 pm EST'::timestamptz  at time zone 'EST';
      timezone       
---------------------
 2011-08-31 12:00:00

示例 2:偏移量为 +5

select '08/31/2011 12:00 pm EST' at time zone '+5';
      timezone       
---------------------
 2011-08-31 12:00:00

示例 3:偏移量为 -5

 select '08/31/2011 12:00 pm EST' at time zone '-5';
      timezone       
---------------------
 2011-08-31 22:00:00

显然,一切都是倒退的。 EST又来了...应该是 UTC-5 http://en.wikipedia.org/wiki/Eastern_Time_Zone。现在,我确实搜索了文档,它确实解释了事情是“POSIX”,这是向后的 http://www.postgresql.org/docs/8.4/static/datatype-datetime.html#DATATYPE-TIMEZONES。 (正偏移量为 GMT 以西,负偏移量为 GMT 以东)。

然而,我该如何解决这个问题呢?在应用程序层,我总是可以将+号反转为-号,但这对我来说似乎有点混乱。因此,这是我的终极问题。

在数据库层(Postgres),有没有办法使用“At Time Zone”语法使GMT-5对应于EST?或者我只需要反转应用程序层的所有内容?


使用编写的间隔数据类型文档 http://www.postgresql.org/docs/current/interactive/functions-datetime.html#FUNCTIONS-DATETIME-ZONECONVERT获得正确的行为:

在这些表达式中,所需的时区zone可以指定 作为文本字符串(例如“PST”)或作为interval(例如。, 间隔“-08:00”)。

基础测试:

SELECT '08/31/2011 12:00 pm EST'::timestamptz AT TIME ZONE 'EST';
      timezone       
---------------------
 2011-08-31 12:00:00
(1 row)

时区信息:

SELECT * FROM pg_timezone_abbrevs WHERE abbrev LIKE 'EST';
 abbrev | utc_offset | is_dst 
--------+------------+--------
 EST    | -05:00:00  | f
(1 row)

正确的偏移量-5:

SELECT '08/31/2011 12:00 pm EST'::timestamptz AT TIME ZONE '-05:00'::interval;
      timezone       
---------------------
 2011-08-31 12:00:00
(1 row)

适当的偏移+5:

SELECT '08/31/2011 12:00 pm EST'::timestamptz AT TIME ZONE '+05:00'::interval;
      timezone       
---------------------
 2011-08-31 22:00:00
(1 row) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Postgresql 中,如何使用“At Time Zone”取消反转时区偏移 的相关文章

随机推荐

  • 如何在 Intellij 中启用 CSS 编辑

    我刚刚切换到 IntelliJ IDEA 因为我认为它非常适合开发 JavaFX 应用程序 我一定做错了什么 因为当我编辑 CSS 文件时 没有代码完成 当我尝试创建新的 CSS 文件时 没有 CSS 文件选项 我正在使用 IntelliJ
  • 如何在 Rails 中将文本转换为 unicode?

    在我的数据库中 我有以下条目 id name info 1 John Smith 正如您所知 信息栏显示错误 但它实际上是韩语 在 Chrome 中 当我将浏览器编码从 UTF 8 切换为韩语 我认为是 euc kr 时 我实际上设法这样查
  • 如何安装jar库?

    我已经下载了 ANTLR Java 运行时库 这是一个 jar 文件 它包含 org antlr runtime 我应该把它放在哪里以便 Java 编译器可以找到它 我需要提取它吗 如果相关的话 我正在使用 NetBeans 目前 假设您可
  • msbuild xmlupdate 删除 web.config 中的节点

    如何使用 MSBuild 社区任务删除 web config 中的节点 我可以使用 XmlUpdate 任务更新节点 但无法删除节点 有任何想法吗 XmlUpdate 任务可以做到这一点 我正在使用 2010 年 11 月 30 日的夜间版
  • 将纬度和经度转换为 3D 空间中的点

    我需要将纬度和经度值转换为 3 维空间中的点 我已经尝试了大约 2 个小时 但没有得到正确的结果 The 等长方形坐标来自openflights org http openflights org data html 我尝试了几种组合cos
  • JIRA api 的 .NET 包装器?

    我正在开发 JIRA 实现 需要使用 API 有谁知道 JIRA SOAP API 的现有 NET 包装器吗 在 Visual Studio NET 项目中 右键单击项目引用并选择 添加服务引用 输入 JIRA 的 WSDL 描述符的 UR
  • 如何捕获datePicker关闭事件

    我正在使用日期选择器 它工作正常 我的网页很少需要使用开始日期和结束日期进行一些计算 我希望能够在日期选择器关闭时进行计算 我在用 有人有什么建议吗 您正在寻找onClose method 参考API文档here http api jque
  • 公共 IP 地址是否可以用作 Google OAuth 重定向 URI?

    我正在尝试设置一个需要用户的 Google Latitude 信息的网络服务 因此我使用 Google OAuth 来获取用户授权内容 但是 当尝试在 Google API 控制台中为 Web 应用程序客户端 ID 设置重定向 URI 时
  • 在 int main() 中使用类函数

    我在从主程序调用函数时遇到问题 这些功能必须在我的班级中 如何从 int main 访问它们 include
  • 使用 Delphi 7 进行开发时,准备好使用 Delphi 2009 及更高版本了吗?

    我正在 Delphi 7 中开发一个 Word 插件 但很快我会将其升级到 Delphi 2010 如您所知 因为 2009 版本 Delphi 引入了新的字符串类型Unicode字符串等于关键字string 另一方面 根据这个线程 htt
  • 使用 AJAX 调用 WordPress 简码

    我想使用切换按钮运行短代码 如果开关为 ON 我会调用一个短代码 如果它为 OFF 我会调用另一个 作为测试 我尝试通过 AJAX 单击单个链接来调用短代码 它给出了以下内容 文件 page recherche php a href CLI
  • gitlab CI期间激活conda环境

    My gitlab ci yml文件看起来像这样 anomalydetector image continuumio miniconda 4 7 10 stage build tags docker script conda env cre
  • 是否可以在 Xcode 7 自动化 UI 测试中存根 HTTP 请求?

    我一直在尝试在 Xcode 7 自动化 UI 测试中拦截和存根 模拟 HTTP 请求 使用诸如OHHTTP存根 https github com AliSoftware OHHTTPStubs 没有运气 下面是我如何尝试在 UI 测试文件的
  • 如何在 Tomcat 8.5 中部署 Spring boot 时使用外部配置文件

    我的 Spring Boot 应用程序 2 1 1 RELEASE 作为 WAR 部署在 Debian 9 系统下的 Tomcat 8 5 服务器中 除其他外 它使用以下文件来配置应用程序 myApplication properties
  • 快速滚动带有图像的表格单元格。是这样的吗?

    我尝试使用 Tweetie 的创建者 Loren Brichter 的创建一个快速滚动列表技术 http web archive org web 20100922230053 http blog atebits com 2008 12 fa
  • AWS EBS 卷“使用中 - 优化”

    我有一个 EBS 卷显示 使用中 优化 状态 这是什么意思 AWS正在执行哪些优化 它位于附加到 Windows Server 2012 R2 EC2 实例的 300GB 加密 gp2 卷上 The in use optimizing状态与
  • 将 NLP 转换为 SQL 有哪些方法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近 我们开始研究对话式聊天机器人的想法 并一直在考虑将自然语言查询转换为 SQL 的不同方法 这些是
  • C#,输出多个值的方法

    我正在使用c 我有一个输出多个值的方法 我知道out但这是一个引用类型 是否有与值类型等效的东西 但也可以从方法输出多个值 对于引用类型 值也会在方法之外发生更改 因此我想防止这种情况发生 out 我知道out但这是一个引用类型 不清楚你的
  • Python格式大小应用(将B转换为KB、MB、GB、TB)

    我正在尝试编写一个应用程序来将字节转换为 kb 到 mb 到 gb 到 tb 这是我到目前为止所拥有的 def size format b if b lt 1000 return i b B elif 1000 lt b lt 100000
  • 在 Postgresql 中,如何使用“At Time Zone”取消反转时区偏移

    我正在尝试了解 Postgresql 时区 但我似乎无法弄清楚这一点 EST 是美国的 东部标准时间 通常是UTC 5 http en wikipedia org wiki Eastern Time Zone 示例 1 基础测试 selec