PostgreSQL 如何将带时区偏移的日期转换为 UTC?

标签 postgresql

我有一个带有以下格式的日期字段的 PostgreSQL 表

2017-09-07T17:24:33+08:00

我想将它转换为 UTC 时间。

我环顾四周,但发现没有办法使用这种特定的时间格式来做到这一点。我错过了什么?

谢谢

最佳答案

timezone 定义 ( https://www.postgresql.org/docs/9.1/functions-datetime.html ):函数 timezone(zone, timestamp) 等同于符合 SQL 的构造 时间戳 AT TIME ZONE zone

SELECT timezone('UTC','2017-09-07T17:24:33+08:00');

如果从列中选择,

with t as (
    SELECT '2017-09-07T17:24:33+08:00' as tm
)
SELECT timezone('UTC',tm::timestamptz) as ts
from t;

关于PostgreSQL 如何将带时区偏移的日期转换为 UTC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57858986/

相关文章:

node.js - Node Express/Sequelize App - PostgreSQL 干净退出

sql - 检查重复行是否在任何行的一个属性中具有值

postgresql - Postgres RDS pg_recvlogical 复制角色

sql - 无法在 jsonb 对象字段中搜索文本

python - 杀死负载数据

sql - 格式错误的数组文字 - PostgreSQL

java - 可扩展的搜索算法 SQL

php - 通过 PHP 从 Postgres 正确读取 bool 值

postgresql - Alembic 未生成正确的更改

java - 如何使用 jdbc/spring-jdbc 不使用 PGInterval 对 PostgreSQL 区间数据类型进行操作?