1👍
Let me know if this helps
#calculate delta between two dates
def delta_days(start_date, end_date):
start = datetime.strptime(start_date, "%m/%d/%Y")
end = datetime.strptime(end_date, "%m/%d/%Y")
delta = end - start
return delta.days
0👍
I’ve used this solution for now. It doesn’t feel very clean but it works.
start_date = self.cleaned_data['from_date']
iterations = 0
while start_date < self.cleaned_data['to_date']:
iterations += 1
start_date += relativedelta(days=self.cleaned_data['delta_days'], weeks=self.cleaned_data['delta_weeks'], months=self.cleaned_data['delta_months'])
if iterations > 36: raise ValidationError('The selected date range and deltas result in too many dates to calculate. Please reduce scope to 36 or less dates.')
0👍
try this one. First you have to convert date difference and relative delta to days (integer) to perform the arithmetic you needed
delta=relativedelta(days= self.cleaned_data['delta_days'], months=self.cleaned_data['delta_months'])
no_loops = (self.cleaned_data['to_date'] - self.cleaned_data['from_date']).days / delta.days
if no_loops > 36: raise ValidationError('Too many iterations.')
- [Answered ]-Django field name conflicts on save
- [Answered ]-Scheduling Filter on Database with Time Interval
- [Answered ]-Proxy redirecting websockets and http to the same (unix) socket
- [Answered ]-When I change admin URL, my project API URL not found. how can I solve it?
- [Answered ]-Deployment with Django and Uwsgi
Source:stackexchange.com