TIMEZONE 函数
TIMEZONE 返回指定时区的一个时间戳和时间戳值。
有关如何设置时区的信息和示例,请参阅timezone。
有关如何转换时区的信息和示例,请参阅CONVERT_TIMEZONE。
语法
TIMEZONE('timezone', { timestamp | timestamptz })
参数
- timezone
-
返回值的时区。该时区可以指定为时区名称(例如
'Africa/Kampala'
或者'Singapore'
)或作为时区缩写(例如'UTC'
或者'PDT'
)。要查看支持的时区名称的列表,请执行以下命令。select pg_timezone_names();
要查看支持的时区缩写的列表,请执行以下命令。
select pg_timezone_abbrevs();
有关更多信息以及示例,请参阅 时区使用说明。
- timestamp | timestamptz
-
一个结果是 TIMESTAMP 或 TIMESTAMPTZ 类型的表达式,或可隐式强制转换为时间戳或带有时区的时间戳的值。
返回类型
与 TIMESTAMP 表达式一起使用时的 TIMESTAMPTZ。
与 TIMESTAMPTZ 表达式一起使用时的 TIMESTAMP。
示例
以下示例使用 PST 时区中的时间戳 2008-06-17 09:44:54
返回 UTC 时区的时间戳。
SELECT TIMEZONE('PST', '2008-06-17 09:44:54');
timezone ----------------------- 2008-06-17 17:44:54+00
以下示例使用带有 UTC 时区的时间戳 2008-06-17 09:44:54+00
返回 PST 时区的时间戳。
SELECT TIMEZONE('PST', timestamptz('2008-06-17 09:44:54+00'));
timezone ----------------------- 2008-06-17 01:44:54