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

AWS Glue作业(ap-south-1区)为何用UTC而非本地时区?如何解决?

AWS Glue作业时区问题:UTC而非ap-south-1本地时区的原因与解决办法

为什么Glue用UTC时区?

  • AWS Glue的Worker节点运行环境默认采用UTC时区,这是云服务行业的通用标准,和作业部署的区域无关。统一使用UTC可以避免跨区域部署时的时区混乱,保证作业日志、运行时间等数据的一致性。
  • Python的datetime.now()在未指定时区参数时,会读取运行环境的本地时区,而Glue Worker的本地时区就是UTC,所以返回的是UTC时间。

解决办法

方法1:直接获取ap-south-1时区的时间

如果使用Glue 3.0及以上(对应Python 3.9+),可以用Python内置的zoneinfo模块:

from datetime import datetime
from zoneinfo import ZoneInfo

# 获取当前印度标准时间(ap-south-1区域时区)
created_on = datetime.now(tz=ZoneInfo("Asia/Kolkata"))

如果是Glue 2.0及以下版本,需要用pytz库(Glue环境已预装):

from datetime import datetime
import pytz

ist_timezone = pytz.timezone("Asia/Kolkata")
created_on = datetime.now(tz=ist_timezone)

方法2:修改Glue作业的时区环境变量

通过配置作业参数,把Worker节点的本地时区设置为ap-south-1对应的时区:

  1. 打开Glue作业的编辑页面
  2. 找到「作业参数」区域
  3. 添加参数:
    • 键:--conf
    • 值:spark.executorEnv.TZ=Asia/Kolkata spark.driverEnv.TZ=Asia/Kolkata
      设置完成后,datetime.now()会直接返回印度标准时间(UTC+5:30)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:59:56