Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python获取上周的日期?_Python_Datetime_Python 3.x_Scrapy_Python Datetime - Fatal编程技术网

使用python获取上周的日期?

使用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

我正在尝试使用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 - 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]检查未来和过去的日期以及系统当前日期,以计算上周的计数。。如果日期有未来日期和过去日期,则应加上峰值。