[Answer]-Find objects with timestamp in a recurring time range

1👍

✅

NOT TESTED

For the first case, assuming MyModel and your timestamp is called date you can do:

import datetime

start_date = datetime.date(2012,7,1)
end_date = datetime.date(2012,7,16)
start_time = datetime.time(14,0)
end_time = datetime.time(19,0)
date_range = end_date - start_date

range_list = None
for days in xrange(date_range.days):
    d = start_date + datetime.timedelta(days)
    if range_list is None:
        range_list = Q(date__range = (datetime.datetime.combine(d, start_time), datetime.datetime.combine(d, end_time)))
    else:
        range_list = range_list|Q(date__range = (datetime.datetime.combine(d, start_time), datetime.datetime.combine(d, end_time)))


MyModel.objects.filter(range_list)

Leave a comment