Python DateTime if 语句在 Azure 中的行为不同。(Django WebApp)
Python DateTime if statement behaves different in Azure.(Django WebApp)
所以我正在写一个小的 Django webApp。它使用来自 API 的 JSON 数据来呈现所有内容。在本地主机上,一切运行良好。但在 Azure 中却没有。
是这段代码中的某处:
for appointment in appointmentsMaandag:
starttijd = (datetime.datetime.fromtimestamp(appointment['start'])).strftime('%H%M')
SuMa = 0
if 800 <= int(starttijd) < 850:
SuMa = 0
elif 850 <= int(starttijd) < 940:
SuMa = 1
elif 940 <= int(starttijd) < 1050:
SuMa = 2
elif 1050 <= int(starttijd) < 1140:
SuMa = 3
elif 1140 <= int(starttijd) < 1240:
SuMa = 4
elif 1240 <= int(starttijd) < 1350:
SuMa = 5
elif 1350 <= int(starttijd) < 1440:
SuMa = 6
elif 1440 <= int(starttijd) < 1530:
SuMa = 7
else:
SuMa = 8
break
在天蓝色中,这总是输出 ELSE
。 SuMa = 8
在这种情况下。在 Localhost 中它确实有效。由于我对天蓝色没有任何经验,我想知道你们中是否有人可以帮助我。
我使用带有 Python 工具的 VS 2015。
应该是时区问题。因为当我们需要将时间戳解析为日期时间对象时,它需要时区设置,默认情况下它会利用系统时区。并且 Azure 服务上的时区都与 America/Los_Angeles.
相同
因此您需要在代码中设置本地时区,例如:
import pytz
localtz = pytz.timezone('Asia/Hong_Kong')
starttijd = (datetime.datetime.fromtimestamp(appointment['start'],tz=localtz)).strftime('%H%M')
print starttijd
...
所以我正在写一个小的 Django webApp。它使用来自 API 的 JSON 数据来呈现所有内容。在本地主机上,一切运行良好。但在 Azure 中却没有。
是这段代码中的某处:
for appointment in appointmentsMaandag:
starttijd = (datetime.datetime.fromtimestamp(appointment['start'])).strftime('%H%M')
SuMa = 0
if 800 <= int(starttijd) < 850:
SuMa = 0
elif 850 <= int(starttijd) < 940:
SuMa = 1
elif 940 <= int(starttijd) < 1050:
SuMa = 2
elif 1050 <= int(starttijd) < 1140:
SuMa = 3
elif 1140 <= int(starttijd) < 1240:
SuMa = 4
elif 1240 <= int(starttijd) < 1350:
SuMa = 5
elif 1350 <= int(starttijd) < 1440:
SuMa = 6
elif 1440 <= int(starttijd) < 1530:
SuMa = 7
else:
SuMa = 8
break
在天蓝色中,这总是输出 ELSE
。 SuMa = 8
在这种情况下。在 Localhost 中它确实有效。由于我对天蓝色没有任何经验,我想知道你们中是否有人可以帮助我。
我使用带有 Python 工具的 VS 2015。
应该是时区问题。因为当我们需要将时间戳解析为日期时间对象时,它需要时区设置,默认情况下它会利用系统时区。并且 Azure 服务上的时区都与 America/Los_Angeles.
相同因此您需要在代码中设置本地时区,例如:
import pytz
localtz = pytz.timezone('Asia/Hong_Kong')
starttijd = (datetime.datetime.fromtimestamp(appointment['start'],tz=localtz)).strftime('%H%M')
print starttijd
...