python - 如何检查应用程序将在azure中运行的时区

标签 python azure timezone azure-web-app-service

我有一个 python Web 应用程序,它从网络服务器中提取一些文件。文件按日期命名,因此看起来像

transData2018/09/13.csv

这些文件是由时区为 GMT-4 的人上传的。我的时区是 GMT+8。截至目前,我正在本地运行 python 应用程序,因此该应用程序处于领先地位。现在,由于时间早于日期时间,因此代码必须查找前一天的文件。因此,考虑到今天的日期是 15-Sept,代码必须查找日期为 14-Sept 的文件。所有设置在本地运行良好。

现在我的计划是在 azure web app 平台上部署这个 python 应用程序。部署后,我不知道它将在哪个时区工作以及将选择什么时间。基于此,代码应该查找文件中的前一个日期还是仅查找今天的日期。

在我正在做的代码中:

previous_date = str(datetime.now().date() - timedelta(days=1))

获取之前的日期值,但这可能会在以下情况下失败:

  1. 如果他们于 9 月 15 日上传文件,则文件名称为 transData2018/09/15.csv,但代码会查找文件 transData2018/09/14.csv 这是不正确的。

遇到这种情况我该怎么处理?谢谢

最佳答案

Azure网站平台设置的默认服务器时间为UTC。使用下面文章中的代码段,您可以了解平台支持哪些时区,并轻松将 UTC 转换为该时区。请参阅Get the local server time for your Azure Website .

您可以在 Web Apps APP SETTINGS 中进行添加,将 Web App 设置为本地时间,并将 TimeZoneInfo Id 值添加到 WEBSITE_TIME_ZONE 属性,然后,DateTime.Now() 方法将返回本地时间而不是默认时间时间。

引用Changing the server time zone on Azure Web AppsSet the time zone了解更多详情。

关于python - 如何检查应用程序将在azure中运行的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346114/

相关文章:

javascript - 使用 momentjs 在最终用户的时区进行操作

python - matplotlib GridSpec 中的行标题

python - Kivy 自定义按钮文本

azure - 仅更新插入更改/新字段?

php - 您如何检测网站访问者的国家/地区(特别是美国与否)?

iphone - 获取特定地理位置的时间

python - 可以在 Gtk3 应用程序中使用旧的 Gtk2 小部件吗?

python - 从两个不同路径导入的类不相等?

reactjs - linux azure web 应用程序不显示我的reactjs 应用程序

Azure 函数在部署后未触发