Мне нужно выяснить, сколько дней между двумя диапазонами дат.Проблема, с которой я сталкиваюсь, заключается в том, что я выбираю даты, когда я прохожу форму, и они возвращаются как unicode
объекты, поэтому это (ниже) не будет работать.
start = data.get('start_date')
mat = data.get('maturity_date')
delta = start - mat
term_string += "%s" % (delta,)
Когда я пытаюсьоператор печати, дата выводится March 01, 2012
, потому что виджет в моей форме преобразует его в этот формат.Мне интересно, есть ли способ взять эти строки Юникода и преобразовать их обратно в формат даты, чтобы я мог использовать дельту, чтобы получить количество дней.
Редактировать Я передаюинформация через print_form (), которая отправляет данные из формы в мою функцию, что позволяет мне заполнить pdf информацией.
print_form из lib / tools.py
def print_form(client=None, data=None, investment_form=None, type="gic_application", plan=None, investment=None):
...
if data:
term_string = ''
total_days = 0
if investment:
if investment.term_years:
term_string += "%s" % (investment.term_years,)
fdf += fdf_val_str("term_years", investment.term_years)
fdf += fdf_val_str("Term", "Years")
if investment.term_months:
start = data.get('start_date')
mat = data.get('maturity_date')
delta = start - mat
term_string += "%s" % (delta,)
fdf += fdf_val_str("Term", "Days")
if investment.term_days:
total_days += investment.term_days
term_string += "%s" % (total_days,)
fdf += fdf_val_str("Term", "Days")
...
response = HttpResponse(fdf.encode("ISO-8859-1"), mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=form.xfdf'#% download_filename# % (statement_date, "statements")
return response
И этиполя даты из моего forms.py
start_date = forms.DateField(widget=DateInput, required=False)
maturity_date = forms.DateField(widget=DateInput, required=False)