我正在尝试打印从今天到一年前的日期范围。因此,我可以将此应用于其他代码中的sql查询
我知道我的算法有效,但我需要从格式"2014-05-15"中减去1天这是代码
from datetime import date, timedelta
import datetime
current_date = datetime.date.today()
datecounter = 0
while datecounter != 365:
print current_date
date_start = current_date
print date_start
# current_date = current_date.timedelta(days=1)
print current_date
print 'the date is between', date_start, 'and', current_date
datecounter += 1
我正在寻找这个代码来输出
the date is between 2014-05-16 and 2014-05-15
the date is between 2014-05-15 and 2014-04-14
etc
我写了一个基于逻辑的人为例子,如果你想自己运行它,你可能会更好地理解我试图做什么。
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
curdate = 5
for i in x:
print curdate
date_start = curdate
curdate = curdate - 1
# print curdate
print ' the date is between', date_start, 'and', curdate
print ' ---------- '
curdate=curdate-datetime.timedelta(days=1)
请参阅此堆叠物流问题
编辑
你的代码也可以进行一些清理:
from datetime import date, timedelta
cur_date = date.today()
for i in xrange(365):
start_date, cur_date = cur_date, cur_date-timedelta(days=1)
print "the date is between {} and {}".format(start_date.strftime("%Y-%m-%d"), cur_date.strftime("%Y-%m-%d"))
这将输出您想要的内容。