将 lambda 的时区更改为 EST?

问题描述 投票:0回答:2

我进入了 lambda 的环境变量,并将

TZ
更改为
EST
。我的问题是,这有效吗?例如,我不断看到人们做诸如
America/Florida
之类的事情。如果我只想要一个总时区而不是指定位置怎么办?

amazon-web-services aws-lambda serverless
2个回答
2
投票

Lambda env var docs:TZ – 环境的时区 (UTC)。执行环境使用NTP来同步系统时钟...这些环境变量的键是保留的,不能在您的功能配置中设置。

因此环境使用UTC。使用运行时语言来处理时区转换。

例如Python:

from zoneinfo import ZoneInfo
from datetime import datetime
    
dt_ny = datetime.now(tz=ZoneInfo('America/New_York'))
dt_est = dt_ny.astimezone(ZoneInfo('EST'))
print(dt_ny)  # 2021-12-08 15:01:38.958676-05:00
print(dt_est) # 2021-12-08 15:01:38.958676-05:00
print(dt_ny == dt_est) # True during the winter, False in summer

IANA 时区数据库的 America/Florida

 样式格式在编程语言中得到广泛支持。与 
Z+2:00
 格式或 
EST
 不同,它们不会被夏令时(“夏令时”)搞乱。尽管 
EST
 与今天的 
America/New_York
 相同,但在夏季,纽约将切换为 
EDT
 时,它就不同了。时区看起来非常简单,直到您开始使用它们。


0
投票
zoneinfo 不起作用,因为 lambda 默认没有 zoneinfo 或 pytz 包。它们需要作为图层添加! 寻找一种方法,不添加层,因为目前我们的基础设施部署不允许层

© www.soinside.com 2019 - 2024. All rights reserved.