日期和时间作为Postgres中的UTC时间戳



我的表中有日期和时间字段。两者都是以本地服务器时间设置的。是否可以将两个字段强制转换为一个UTC ISO时间戳?

只需将两者相加即可:

SELECT date_col + time_col AS timestamp_col

无论如何,类型timestamp [without time zone]在内部存储为UTC时间戳。只有显示器会根据会话的时区设置进行调整。如果需要将时间戳显示为UTC时间戳,请使用AT TIME ZONE构造:

SELECT timestamp_col AT TIME ZONE 'UTC';

注意,这在应用于timestamp时返回timestamp with time zone
详细信息:

  • 在Rails和PostgreSQL中完全忽略时区

例如,在莫斯科将时间戳显示为timestamptz

SELECT (date_col + time_col) AT TIME ZONE 'Europe/Moscow' AS tstz_col

相关内容

  • 没有找到相关文章

最新更新