当前位置: 首页 > 知识库问答 >
问题:

将postgresql中的UTC时区转换为EST(当地时间)

莘光华
2023-03-14

我是PostgreSQL的新手,我想知道是否有一种直接的方法可以使用函数将表中的时间戳值转换为不同的时区。在我的情况下,是UTC到EST。

例如,我需要将这些值转换为EST(不仅仅是一个值,而是表中的所有值)

date
-------------------
2015-10-24 16:38:46
2016-01-19 18:27:00
2016-01-24 16:14:34
2016-02-09 23:05:49
2016-02-11 20:46:26

共有3个答案

柳高卓
2023-03-14

我通常将所有内容保留为UTC格式,并在需要显示时进行转换。我使用的是:

SELECT my_date_utc AT time zone 'utc' at time zone 'est' From ....
贝财
2023-03-14

同样执行

SELECT '2015-10-24 16:38:46'::timestamp AT time zone 'EST';

timezone
------------------------
 2015-10-24 21:38:46+00
(1 row)
孙元明
2023-03-14

在伦敦,我们现在比UTC快1小时。所以,如果我把你的时区没有时间戳,并说它是在世界协调时,我会得到我的本地时区打印出来。

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
        timezone        
------------------------
 2015-10-24 17:38:46+01
(1 row)

但是您想要“EST ”,根据返回的值判断,它似乎在美洲的某个地方。如果您愿意,可以将表达式包装在一个小的SQL函数中。

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
      timezone       
---------------------
 2015-10-24 11:38:46
(1 row)

编辑:如何在查询中执行此操作

SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;

如果这种事情给你带来了问题,你可能会想得到一本关于SQL的入门书。

 类似资料:
  • 我们在本地时区(如EST、PST、CST等)的sql中有多列。我们希望将UTC时区中的所有这些时区转换为考虑到日光节省并将其保存到另一列。 我尝试了下面的查询,但它将UTC转换为当地时区(EST ),但我正在寻找EST到UTC时区。 选择CONVERT(日期时间,SWITCHOFFSET(日期时间字段,日期部分(TZOFFSET,时间区域“东部标准时间”的日期时间字段))

  • 问题内容: 我知道这个主题已被殴打致死,但在搜寻了这个问题几个小时之后,我不得不问。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。客户端应用程序以秒为单位告诉服务器,其时区距GMT的距离。然后,我想使用此信息对服务器中的日期进行计算。服务器上的日期都存储为UTC时间。 因此,在将UTC日期对象转换为该本地时区之后,我想获取其HOUR。 我目前的尝试: 变量小时和

  • 问题内容: 我有一个UTC时区,例如: 还有一个pytz时区对象: 转换为给定时区的正确方法是什么? 问题答案: 我想我明白了: 这行代码首先将朴素的(不了解时区的) 对象转换为包含时区(UTC)的对象。然后,它使用该功能根据请求的时区调整时间。

  • 问题内容: 作为json的回应,我正在获取UTC时区。我需要将其转换为当地时间。 有人可以帮忙吗? 问题答案: 编辑(2017年1月2日):请参阅@Jason的答案,它比这更好,因为它使用自定义过滤器修复日期格式-这是更Angular的方法。 我的原始答案和修改内容: 您可以使用过滤器格式化日期: 这将输出: (假设) 请参阅angularjs.org中的此文档。它有很多示例,非常有帮助! 编辑:

  • 问题内容: 我正在使用Android应用程序,并且要将本地时间(设备时间)转换为UTC并将其保存在数据库中。从数据库中检索它之后,我必须再次将其转换并显示在设备的时区中。谁能建议如何用Java做到这一点? 问题答案: 我使用这两种方法将本地时间转换为GMT / UTC,反之亦然,这对我来说没有任何问题。 将要转换为设备本地时间的GMT / UTC日期传递给此方法:

  • 我正在开发Android应用程序,我想将本地时间(设备时间)转换为UTC,并将其保存在数据库中。从数据库中检索后,我必须再次将其转换并显示在设备的时区中。有人能建议如何在Java中做到这一点吗?