web-dev-qa-db-ja.com

Django-datetime.strptimeから日付のみを取得する

データベースに開始日フィールドを日付として(日付時刻ではなく)持っています。 forms.pyのsaveメソッドでは、datetime.strptime(date_string, '%Y-%m-%d')を使用して文字列を日付に変換しています。このメソッドは、フォーマットされた日付と時間、つまり「2006-08-03 00:00:00」を返します。

日付だけが必要で、時間は必要ありません。 「無効な日付形式エラー」という「YYYY-MM-DD形式である必要があります」というメッセージが表示されるため、これに固執してイライラします。誰でもこれで私を助けることができますか?

38
Nikhilesh

日付時刻ではなく日付オブジェクトが必要だと思います。 datetimeオブジェクトのdate()メソッドを使用して、datetimeをdateに変換してみてください

from datetime import datetime
datetime.strptime('2014-12-04', '%Y-%m-%d').date()
93
lazy functor