Django Pythonの日付は真夜中に設定されています
-
27-10-2019 - |
質問
私はdjangoオブジェクトの日付を持っていますが、それはいつでもいつでもかまいません。それはいつでも一日になることがありますが、私は00:00:00に時間を設定する必要があります(そして別の日付は23:59:59になりますが、原則は同じです)
end_date = lastItem.pub_date
現在、終了日は2002-01-11 12:34:56です。これを00:00:00に変更するために何をする必要がありますか?
私は試した:
end_date.hour = '00'
しかし、got:「datetime.datetime」オブジェクト属性「時間」は読み取り専用です
解決
これを試して:
import datetime
pub = lastItem.pub_date
end_date = datetime.datetime(pub.year, pub.month, pub.day)
他のヒント
DateTimesの「組み合わせ」をTime.minおよびtime.maxを使用すると、両方のデータタイムが得られます。例えば:
from datetime import date, datetime, time
pub_date = date.today()
min_pub_date_time = datetime.combine(pub_date, time.min)
max_pub_date_time = datetime.combine(pub_date, time.max)
2013年6月5日のpub_dateでの結果:
min_pub_date_time-> datetime.datetime(2013、6、5、0、0)
max_pub_date_time-> datetime.datetime(2013、6、5、23、59、59、999999)
日付の代わりに日付を使用したくないのですか?常に真夜中まで時間を設定する場合は、日付の使用を検討する必要があります。本当にDateTimesを使用したい場合は、真夜中に同じ日を取得する機能があります。
def set_to_midnight(dt):
midnight = datetime.time(0)
return datetime.datetime.combine(dt.date(), midnight)
tz-awareの日付については、次のようにする必要があります。
datetime.combine(dt.date(), datetime.min.time(), dt.tzinfo)
datetime
年、月、日、時間などのようなインスタンス属性は 読み取り専用, 、したがって、新しいものを作成する必要があります datetime
オブジェクトとそれを割り当てます end_date
.
所属していません StackOverflow