如何检查应用程序将在天蓝色运行的时区

时间:2018-09-15 15:25:43

标签: python azure timezone azure-web-sites

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

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. 如果他们将文件上传到15th-Sept,则文件将具有名称transData2018/09/15.csv,但是代码将查找不正确的文件transData2018/09/14.csv

我应该如何处理这种情况?谢谢

1 个答案:

答案 0 :(得分:2)

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