我有一个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))
获取上一个日期值,但是在以下情况下可能会失败:
15th-Sept
,则文件将具有名称transData2018/09/15.csv
,但是代码将查找不正确的文件transData2018/09/14.csv
。我应该如何处理这种情况?谢谢
答案 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 Apps和Set the time zone。