

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# TIMEZONE 函数
<a name="r_TIMEZONE"></a>

TIMEZONE 返回指定时区的一个时间戳和时间戳值。

有关如何设置时区的信息和示例，请参阅[timezone](r_timezone_config.md)。

有关如何转换时区的信息和示例，请参阅[CONVERT\$1TIMEZONE](CONVERT_TIMEZONE.md)。

## 语法
<a name="r_TIMEZONE-syntax"></a>

```
TIMEZONE('timezone', { timestamp | timestamptz })
```

## 参数
<a name="r_TIMEZONE-arguments"></a>

*timezone*  
返回值的时区。该时区可以指定为时区名称（例如 **'Africa/Kampala'** 或者 **'Singapore'**）或作为时区缩写（例如 **'UTC'** 或者 **'PDT'**）。要查看支持的时区名称的列表，请执行以下命令。  

```
select pg_timezone_names();
```
 要查看支持的时区缩写的列表，请执行以下命令。  

```
select pg_timezone_abbrevs();
```
请注意，Amazon Redshift 使用 [IANA 时区数据库](https://www.iana.org/time-zones)作为时区规范的权威来源。有关更多信息以及示例，请参阅 [时区使用说明](CONVERT_TIMEZONE.md#CONVERT_TIMEZONE-usage-notes)。

*timestamp* \$1 *timestamptz*  
一个结果是 TIMESTAMP 或 TIMESTAMPTZ 类型的表达式，或可隐式强制转换为时间戳或带有时区的时间戳的值。

## 返回类型
<a name="r_TIMEZONE-return-type"></a>

与 TIMESTAMP 表达式一起使用时的 TIMESTAMPTZ。

与 TIMESTAMPTZ 表达式一起使用时的 TIMESTAMP。

## 示例
<a name="r_TIMEZONE-examples"></a>

以下示例使用 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
```