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

问题描述 投票:1回答:1

我有一个python web应用程序,它从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. 如果他们在15th-Sept上传文件,那么这些文件将具有名称transData2018/09/15.csv,但代码将查找文件transData2018/09/14.csv,这是不正确的。

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

python azure timezone azure-web-sites
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.