2013-08-04 3 views
25

データベースに開始日のフィールドがdatetimeではありません。 forms.pyの私の保存メソッドでは、文字列を日付に変換するのにdatetime.strptime(date_string, '%Y-%m-%d')を使用しています。このメソッドは、日付と共にフォーマットされた日付、すなわち「2006-08-03 00:00:00」を返します。Django - datetime.strptimeの日付のみを取得します

私はちょうど日付と時間が欲しいです。 「YYYY-MM-DD形式である必要があります」という「無効な日付形式のエラー」が表示されるため、私はこれに固執して不満を抱いています。誰もがこれで私を助けることができますか?

+0

上の日付()メソッドを使用して日付をdatetime型に変換してみます。はるかに便利です。 –

+0

フィールドをDateFieldに変更することができました。ありがとう。 – Nikhilesh

答えて

67

私はdatetimeではないdateオブジェクトが必要だと思います。 あなたはそれの検証を処理するためにはDjangoのDateFieldを使用し、その後、Djangoのフォームを使用している場合はDateTimeオブジェクト

from datetime import datetime 
datetime.strptime('2014-12-04', '%Y-%m-%d').date() 
+1

また、時間だけが必要な場合にも機能します。 – JoeRod

+5

strpdate()を持っているといいでしょう。 – user1700890

+0

これはdatetime.date(結果)をラップする必要がありません。 – brunch875

関連する問題