質問

私は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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top