django python date time set to midnight
我有django对象的日期时间,但它可以是一天中的任何时间。 它可以在一天中的任何时间,但我需要将我的时间设置为00:00:00(和另一个日期到23:59:59,但原理将是相同的)
1 | end_date = lastItem.pub_date |
目前结束日期是2002-01-11 12:34:56
我需要做什么才能将其更改为00:00:00?
我试过了:
1 | end_date.hour = '00' |
但得到:'datetime.datetime'对象属性'time'是只读的
试试这个:
1 2 3 | import datetime pub = lastItem.pub_date end_date = datetime.datetime(pub.year, pub.month, pub.day) |
使用datetimes的"combine"与time.min和time.max将同时提供两个日期时间。
例如:
1 2 3 4 | 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) |
pub_date为2013年6月5日的结果:
min_pub_date_time - > datetime.datetime(2013,6,5,0,0)
max_pub_date_time - > datetime.datetime(2013,6,5,23,59,59,999999)
您确定不想使用日期而不是日期时间吗? 如果您总是将时间设置为午夜,则应考虑使用日期。 如果你真的想使用日期时间,这里有一个函数可以在午夜获得同一天:
1 2 3 | def set_to_midnight(dt): midnight = datetime.time(0) return datetime.datetime.combine(dt.date(), midnight) |
对于tz感知日期,它应该是:
1 | datetime.combine(dt.date(), datetime.min.time(), dt.tzinfo) |