在django中,我想检查还剩多少时间来启动一个事件,我知道这个事情。
time_threshold = datetime.now() - timedelta(hours=24)
event = Event.objects.get(seleteddate__lt=time_threshold)
但我的问题是,我把起始日期和起始时间保存在两个不同的变量中,就像这样。
class Event(models.Model):
seleteddate = models.DateField(blank=True,null=True)
startTime = models.TimeField()
P.S 由于其他的使用情况,我不能把它变成一个日期时间字段。所以,我怎样才能根据这两点来检查还有多少时间来启动一个事件。
不是最好的方法,但是这个应该可以
from datetime import datetime, date
objs = Event.objects.all()
for obj in objs:
date_obj = obj.seleteddate
time_obj = obj.startTime
# This would give us the datetime obj for that record
datetime_obj = datetime.combine(date_obj, time_obj)
# Subract the current datetime and datetime of the record to get no. of hours remaining
hours_diff = (datetime.now()-datetime_obj).seconds//3600
if hours_diff <= 24:
# Logic to proceed