我有一个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))
获取上一个日期值,但这可能会在方案中失败:
15th-Sept
上传文件,那么这些文件将具有名称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 Apps和Set the time zone。