我正在閱讀用戶的日期值,並需要在django中進行日期比較。我找不到任何答案如何做到這一點。我確實需要的是將字符串轉換爲日期,以便可以比較相等/小於/大於值。如何將日期值轉換爲日期類型以進行比較?
我得到如下的表格值。
start_date = form_new_task.cleaned_data['start_date']
我需要date.today()
平等/小於/大於比較起始日期值。
任何人都可以讓我知道確切的方法來做到這一點。由於我將表單輸入設置爲date
字段(不是datetime
),所以我不讀取輸入的任何時間部分。
更新到全碼:
在窗體聲明:
class Form_Task(forms.Form):
start_date = forms.DateField(label='Check-In Date', initial='2017-05-05',
widget=forms.DateInput(attrs={'class': 'form-control,'size': 10}))
在POST請求:
form_new_task = Form_Task(request.POST)
if form_new_task.is_valid():
start_date = form_new_task.cleaned_data['start_date']
if start_date < date.today()
err_str = 'Start date cannot be a past date.' # here I don't get this assigned. It's evaluate to False.
你的問題不明確。如果'start_date'是一個'DateField',那麼'cleaned_data ['start_date']'應該已經是一個日期實例。 – Alasdair
使用'.date()'方法,這將幫助你看到[比較日期](https://stackoverflow.com/questions/3278999/how-can-i-compare-a-date-and-a-datetime -in-python) –
我在調用date()方法時遇到以下錯誤 'if start_date.date()