【问题标题】:python getting local time zone?python获取本地时区?
【发布时间】:2017-05-19 18:28:44
【问题描述】:

我正在使用 tzlocal.get_localzone() 来获取本地时区。但是,在 AWS Lambda 上,这将返回“本地”而不是实际的 TZ,例如“美洲/New_York”,然后我尝试将返回值与 datetime.replace(tzinfo=new_time_zone) 一起使用,但是,当作为“本地”

有人知道如何在 AWS 中执行此操作,因此我的 lambda ftn 使用相对于其运行区域的 TZ,还是我需要使用 AWS 升级此操作?

【问题讨论】:

  • Lambda 下的服务器(正确)没有物理位置的时区概念。

标签: amazon-web-services datetime lambda timezone


【解决方案1】:

您不应在服务器端代码中使用tzlocal。它仅适用于桌面应用程序。

  • 大多数服务器,尤其是基于云的服务,都将其系统时区设置为 UTC。

  • 您无法保证将服务器的时区设置为任何特定值(包括 UTC 或区域时区)。

  • 您的代码在从一个云环境运行到下一个云环境或在本地运行时,行为不应有所不同。

the timezone best practices article 中也对此进行了描述。

【讨论】:

    【解决方案2】:

    您可以使用以下代码获取服务器的时区名称。这意味着,如果服务器位于科罗拉多州丹佛市,TIME_ZONE 将设置为 "America/Denver"

    import tzlocal
    TIME_ZONE = tzlocal.get_localzone().zone
    

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 2013-08-09
      • 2019-04-04
      • 2015-05-26
      • 2020-10-01
      • 2013-01-17
      • 2011-05-17
      • 2013-07-17
      • 1970-01-01
      相关资源
      最近更新 更多