如何使用datetime模块获取python中的第一个和最后一个,这意味着00:00:01和23:59:59。
我想在今天之前获得六个日期时间。
所以,例如:
今天12月10日,我想要
12/9 00:00:01和23:59:59
...
12/4 00:00:01和23:59:59
非常感谢。
答案 0 :(得分:15)
只需使用datetime.time.min
和datetime.time.max
:
>>> import datetime
>>> datetime.time.min
datetime.time(0, 0)
>>> datetime.time.max
datetime.time(23, 59, 59, 999999)
您可combine使用datetime.date
实例获取完整的datetime.datetime
实例:
>>> datetime.datetime.combine(datetime.date.today(), datetime.time.max)
datetime.datetime(2012, 12, 1, 23, 59, 59, 999999)
要重复使用现有的datetime.datetime
实例,请使用.combine()
方法和.date()
实例上的datetime.datetime
方法创建新的datetime.datetime
实例实例:
>>> datetime.datetime.combine(datetime.datetime.now().date(), datetime.time.min)
datetime.datetime(2012, 12, 1, 0, 0)
要获取日期的系列,请使用datetime.timedelta
个实例创建偏移。与此相关的一系列日期很简单:
today = datetime.date.today()
lastweek = today - datetime.timedelta(days=7)
for i in range(7):
aday = lastweek + datetime.timedelta(days=i)
first = datetime.datetime.combine(aday, datetime.time.min)
last = datetime.datetime.combine(aday, datetime.time.max)
print first, last