You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift中如何将UTC转换为含夏令时的太平洋时间(PST/PDT)

解决Redshift中UTC转太平洋时区自动适配夏令时的问题

你之前用convert_timezone(utc,pst,"timestamp")无效的原因是:PST是固定偏移的时区缩写(UTC-8),不包含夏令时切换规则,而太平洋时区在夏令时会切换到PDT(UTC-7),所以得改用带夏令时规则的IANA时区标识符。

Redshift的convert_timezone函数支持IANA时区名称,这类时区会自动根据日期适配夏令时,具体用法如下:

  • 方法1:直接指定目标时区(源时区默认是UTC)
SELECT 
  timestamp AS utc_timestamp,
  convert_timezone('US/Pacific', timestamp) AS pacific_time
FROM your_table;
  • 方法2:明确指定源和目标时区(逻辑更清晰)
SELECT 
  timestamp AS utc_timestamp,
  convert_timezone('UTC', 'America/Los_Angeles', timestamp) AS pacific_time
FROM your_table;

US/Pacific和America/Los_Angeles都是有效的太平洋时区标识符,Redshift会自动识别日期是否处于夏令时时段,完成对应的偏移转换。

如果想确认Redshift支持的所有时区,可以执行以下查询查看完整列表:

SELECT name, abbrev, utc_offset FROM pg_timezone_names;

内容的提问来源于stack exchange,提问作者sundarls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:32:02