获取时区时间



我又疼

头了:

在postgresql上,我想获取给定时区的本地时间。

所以,在格林威治标准时间15:45,我想16:45 +01:00,但我无法得到好的安威瑟:

SQL 小提琴

查询 1

select current_timestamp at time zone 'GMT' as time_local_gmt

结果

|              time_local_gmt |
|-----------------------------|
| 2018-01-26T15:45:10.871659Z |

这没关系。

查询 2

select current_timestamp at time zone '+01:00' as time_local_paris

结果

|            time_local_paris |
|-----------------------------|
| 2018-01-26T14:45:10.871659Z |

这是完全错误的,似乎它是-01:00而不是+01:00

<小时 />

编辑:在此处查看有效答案:https://stackoverflow.com/a/48707297/5546267

这对

我有用。

select current_timestamp at time zone 'UTC+1';

给了我以下结果。

2018-01-26T17:00:58.773039Z

还有一个时区名称列表。

以下是 PostgreSQL 9.6 文档中有关时区名称的摘录。

视图pg_timezone_names提供由 SET 时区识别的时区名称的列表,以及它们的关联缩写、UTC 偏移量和夏令时状态。

基本上,以下查询将为您提供巴黎的当前时间。

SELECT current_timestamp AT TIME ZONE 'Europe/Paris';

祝你好运!

为了完整起见(即使 @Avi Abrami 的答案应该是您要搜索的(,让我们看一下文档中的日期时间运算符。

可以使用 INTERVAL 关键字将小时数添加到存储的值中:

SELECT current_timestamp AT TIME ZONE INTERVAL '+02:00' AS plus_two;

然后导致

2018-01-26T17:45:10.871659Z

(格林威治标准时间2018-01-26T15:45:10.871659Z时(

第 9.9.3 节AT_TIME_ZONE提到我在没有任何前面运算符的情况下使用 INTERVAL

在这些表达式中,可以将所需的时区指定为文本字符串(例如,"PST"(或间隔(例如,INTERVAL '-08:00'(。在文本情况下,可以通过第 8.5.3 节中描述的任何方式指定时区名称。

文档说:

要记住的另一个问题是,在 POSIX 时区名称中,格林威治以西的位置使用正偏移量。在其他任何地方,PostgreSQL都遵循ISO-8601惯例,即正时区偏移量位于格林威治以东

我想那是你的问题。

好的,终于找到了方法!

SELECT
    current_timestamp 
        AT TIME ZONE 'GMT' 
        AT TIME ZONE '+01:00' 
            AS time_local_paris_right;

默认情况下,时间戳为不带 TZ 的 UTC,您强制将其作为 GMT,然后第二个AT使用正确的偏移量进行转换,以提供指定时区的本地时间。

SQL 小提琴

PostgreSQL 9.6 Schema Setup

查询 2

select current_timestamp at time zone 'GMT' as time_local_gmt

结果

|              time_local_gmt |
|-----------------------------|
| 2018-02-09T13:44:56.824107Z |

查询 3

select current_timestamp at time zone '+01:00' as time_local_paris_wrong

结果

|      time_local_paris_wrong |
|-----------------------------|
| 2018-02-09T12:44:56.824107Z |

查询 4

select current_timestamp at time zone 'GMT' at time zone '+01:00' as time_local_paris_right

结果

|      time_local_paris_right |
|-----------------------------|
| 2018-02-09T14:44:56.824107Z |

相关内容

  • 没有找到相关文章

最新更新