使用python获取上周的日期?
我正在尝试使用python获取上周的日期 如果日期为:2014年10月10日意味着 应该打印出来使用python获取上周的日期?,python,datetime,python-3.x,scrapy,python-datetime,Python,Datetime,Python 3.x,Scrapy,Python Datetime,我正在尝试使用python获取上周的日期 如果日期为:2014年10月10日意味着 应该打印出来 10 OCT 2014, 09 OCT 2014, 08 OCT 2014, 07 OCT 2014, 06 OCT 2014, 05 OCT 2014, 04 OCT 2014 我试过: today = (10 OCT 2014) dates = [today + datetime.timedelta(days=i) for i in range(-4 - today.weekday(), 4
10 OCT 2014, 09 OCT 2014, 08 OCT 2014, 07 OCT 2014, 06 OCT 2014, 05 OCT 2014, 04 OCT 2014
我试过:
today = (10 OCT 2014)
dates = [today + datetime.timedelta(days=i) for i in range(-4 - today.weekday(), 4 - today.weekday())]
print dates
我得到这个错误:
exceptions.AttributeError: 'unicode' object has no attribute 'weekday'
您的问题和算法似乎不一致。这就是你想要的吗
from datetime import date
from datetime import timedelta
today = date(2014, 10, 10) # or you can do today = date.today() for today's date
for i in range(0,7):
print (today - timedelta(days=i))
@MarkG一针见血,但如果您希望获得所要求的准确输出,这将起作用:
import datetime
today = '10 OCT 2014'
dates = [datetime.datetime.strptime(today, '%d %b %Y') - datetime.timedelta(days=i) for i in range(7)]
print ', '.join([day.strftime('%d %b %Y').upper() for day in dates])
请注意,您需要以字符串形式传递今天的日期。我无法在Python 2.7中重现,您能否演示如何初始化您今天的
变量?您是否使用像这样的datetime.date(2014,10,10)
对象来创建它?错误消息似乎表明您不是。today=datetime.date.today()我的输入是today=item[xxxx],这里我必须用item[xxxxx]检查未来和过去的日期以及系统当前日期,以计算上周的计数。。如果日期有未来日期和过去日期,则应加上峰值。