将 lambda 的时区更改为 EST?

Changing timezone for lambdas to EST?

我进入了我的 lambda 的环境变量,并将 TZ 更改为 EST。我的问题是,这有效吗?例如,我经常看到人们做 America/Florida 之类的事情。如果我只想要一个笼统的时区而不是指定位置怎么办?

Lambda env var docs: TZ – The environment's time zone (UTC). The execution environment uses NTP to synchronize the system clock... The keys for these environment variables are reserved and cannot be set in your function configuration.

所以环境使用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 timezone database's America/Florida 风格的格式在编程语言中得到广泛支持。与 Z+2:00 格式或 EST 不同,它们不会被夏令时(“夏令时”)搞乱。尽管 EST 与今天的 America/New_York 相同,但在夏季纽约切换到 EDT 时就不会了。在您开始使用它们之前,时区看起来非常简单。