datetime.now() returns AWS Elastic Beanstalk 上的 UTC 时间

datetime.now() returns UTC time on AWS Elastic Beanstalk

我最近将我的 Flask 应用程序部署到了 AWS Elastic Beanstalk。一切似乎都很好,直到我意识到 datetime.datetime.now() 正在返回 UTC 时间(对我来说比当地时间提前 7 小时)而不是当地时间。当我在本地主机上 运行 它不会执行此操作。问题是什么,我应该采取什么步骤来缓解这个问题?谢谢

在 UTC 中配置服务器是一种常见的做法。所以 datetime.datetime.now() 给你 UTC 时间是正常的。

您可以使用 pytz 库来管理代码中的时区,以便在需要时将日期转换为您当地的时区。

阅读 this guide 有关日期和时区最佳实践的内容非常有用,可以更广泛地了解如何管理服务器时间与本地时区之间的交互。