0

在 django 我想检查还有多少时间来开始一个事件,我知道这件事

 time_threshold = datetime.now() - timedelta(hours=24)
 event = Event.objects.get(seleteddate__lt=time_threshold)

但我的问题是我已经在 2 个 diff 变量中保存了 startdate 和 start time 像这样

class Event(models.Model):
    seleteddate = models.DateField(blank=True,null=True)
    startTime = models.TimeField()

PS由于其他用例,我无法将其设为日期时间字段。因此,我如何根据这两个因素来检查它还剩多少时间来开始一个活动。

4

1 回答 1

1

不是最好的方法,但这应该有效

 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

于 2020-05-12T12:33:34.990 回答