【问题标题】:Change AWS Lambda python timezone更改 AWS Lambda python 时区
【发布时间】:2020-02-21 02:42:26
【问题描述】:

我在 AWS Lambda 上使用了 Python,但找不到更改时区的方法。 我已经用过了,

os.environ['TZ'] = 'xxxxx'

但它没有用。

如何使用 Python 在 AWS Lambda 上更改时区?

【问题讨论】:

  • 为什么你想改变时区?通常建议在 UTC 上运行系统,以便在所有系统之间同步日志记录。 Python 有一些库来帮助在时区之间转换给定的时间戳。在操作系统级别更改时区有什么特别需要?

标签: python amazon-web-services aws-lambda timezone


【解决方案1】:

要在 Python 中更新时区,您必须调用 time.tzset()

os.putenv('TZ', 'Asia/Tokyo')
time.tzset()
print(datetime.datetime.now())

【讨论】:

    【解决方案2】:

    您可以通过将 TZ 环境变量指定为 lambda 配置的一部分来设置时区。

    AWS 已禁止在 lambda 调用期间更改 TZ env var,以便在调用 python 标准库函数时尊重它。 (你可以用os.putenv("TZ", "xxxxx")设置变量,但它不会做任何事情)

    文档列表TZas a reserved environment variable,给出的原因是“执行环境使用NTP同步系统时钟”。

    【讨论】:

    • 我能够在 lambda 配置中设置 TZ 环境变量,并在点网代码中更改时区。提前在 lambda 配置中设置它效果很好。
    猜你喜欢
    • 2019-08-18
    • 1970-01-01
    • 2020-09-26
    • 2018-11-14
    • 1970-01-01
    • 2019-08-08
    • 2019-01-15
    • 2022-01-21
    • 2022-11-20
    相关资源
    最近更新 更多