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

时间:2015-02-13 08:14:39

标签: postgresql casting timezone timestamp utc

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

1 个答案:

答案 0 :(得分:2)

只需添加两个:

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 with time zone时返回timestamp 详细信息:

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

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