TIMEZONE¶
说明¶
根据指定的时间或时间戳计算时区的偏移量。
参数¶
time_expression
该参数的类型可以是一个text类型的时间串,也可以是intervaldts类型的时间间隔。
timestamptz_expression
该参数的类型可以是timestamptz(带时区的时间戳类型)、timestamp(时间戳类型)、timetz(带时区的时间类型),这三种类型都支持所有的fmt格式。
返回值¶
根据在timestamptz_expression中输入的参数类型,返回值类型如下:
| 输入的参数类型 | 返回值类型 |
|---|---|
| timestamptz | timestamp |
| timestamp | timestamptz |
| timetz | timetz |
示例¶
示例1: time_expression中输入的参数类型为intervaldts时,计算时间戳的偏移量。
注解
需要注意的是时区的范围是[-12:59, 14:00]。
select timezone('-0 1:20:00'::INTERVALDTS, '2022-08-04 20:39:39'::TIMESTAMP);
TIMEZONE(timestamptz) |
---------------------------
2022-08-05 05:59:39 +08:00 |
总数目:1
示例2: time_expression中输入的参数类型为text时,计算时间的偏移量。
注解
需要注意的是默认时区是格林尼治时间(世界时),同北京时间相差八小时,而第二个参数是北京时间。
select timezone('+7:00', '2022-08-04 20:39:39');
TIMEZONE(timestamp) |
-------------------------
2022-08-04 19:39:39 |
总数目:1