【发布时间】:2015-04-30 18:57:03
【问题描述】:
我正在使用 Heroku 运行一些 python 代码。
我编写的代码使用了一个预定义的时间,例如:16:00,并将其与当前时间进行比较,然后计算出这样的差异:
now = datetime.datetime.now()
starttime = datetime.datetime.combine(datetime.date.today(), datetime.time(int(hour), int(minute)))
dif = now - starttime
我猜想在本地运行这个 ofc 会占用我系统中的时间,而且一切都是正确的。但是,当我将它发布在服务器上并在那里运行时,时间是一小时前。那么我该如何解决这个问题,以便它始终使用我所在的时区?
我住在瑞典
谢谢大家,代码示例将不胜感激。
EDIT1
其余代码如下所示:
if dif < datetime.timedelta(seconds=0):
hmm = 3
elif dif < datetime.timedelta(seconds=45*60):
t = dif.total_seconds() / 60
time, trash = str(t).split(".")
time = time+"'"
elif dif < datetime.timedelta(seconds=48*60):
time = "45'"
elif dif < datetime.timedelta(seconds=58*60):
time = "HT"
elif dif < datetime.timedelta(seconds=103*60):
t = (dif.total_seconds() - 840) / 60
time, trash = str(t).split(".")
time = time+"'"
elif dif < datetime.timedelta(seconds=108*60):
time = "90'"
else:
time = "FT"
并使用您提供的导入,我现在收到此错误:
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
我尝试这样做,但没有帮助:
from datetime import datetime, time, timedelta
【问题讨论】:
-
无关:您可以使用
timedelta(minutes=103)代替timedelta(seconds=103*60)
标签: python heroku timezone pytz