如何使用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
非常感谢你.
Mar*_*ers 18
只需使用datetime.time.min和datetime.time.max:
>>> import datetime
>>> datetime.time.min
datetime.time(0, 0)
>>> datetime.time.max
datetime.time(23, 59, 59, 999999)
Run Code Online (Sandbox Code Playgroud)
您可以将其与datetime.date实例组合以获取完整datetime.datetime实例:
>>> datetime.datetime.combine(datetime.date.today(), datetime.time.max)
datetime.datetime(2012, 12, 1, 23, 59, 59, 999999)
Run Code Online (Sandbox Code Playgroud)
要重新使用现有的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)
Run Code Online (Sandbox Code Playgroud)
要获取一系列日期,请使用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
Run Code Online (Sandbox Code Playgroud)