如何根据本周scrapy中的日期(周一 - 周日)获取上周的开始日期和结束日期
示例:如果日期为 2015 年 2 月 4 日,则结果应为 start_date = Monday(26-jan-1015) end_date = Sunday(1-feb-15)
如果日期是 27-feb-15, 则结果应为 start_date = Monday(16-feb-1015) end_date = (22-feb-15)
我尝试过这个:
date =aaa.xpath('xxx')
if date < datetime.datetime.today():
最佳答案
您可以使用datetime.timedelta
为此。
它有一个可选的 weeks
参数,您可以将其设置为 -1
,这样它就会从 date
中减去 7 天。
您还必须减去当前日期的工作日(以及另一个工作日,以偶数从星期一开始的日期 0
)。
import datetime
def previous_week_range(date):
start_date = date + datetime.timedelta(-date.weekday(), weeks=-1)
end_date = date + datetime.timedelta(-date.weekday() - 1)
return start_date, end_date
previous_week_range(datetime.date(2015, 2, 9)) # 2015-02-02, 2015-02-08
previous_week_range(datetime.date(2015, 2, 13)) # 2015-02-02, 2015-02-08
previous_week_range(datetime.date(2015, 2, 16)) # 2015-02-09, 2015-02-15
关于python - 如何根据scrapy中本周的日期获取上周作为开始日期和结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28408648/