如何根据 scrapy 中当前周的日期获取最后一周作为开始日期和结束日期
how get the last week as start date and end date based on date in current week in scrapy
如何根据本周scrapy(周一至周日)的日期获取最后一周的开始日期和结束日期
示例:如果日期是 04-feb-15,则结果应为 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
如何根据本周scrapy(周一至周日)的日期获取最后一周的开始日期和结束日期
示例:如果日期是 04-feb-15,则结果应为 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
.
您还必须减去当前日期的工作日(以及另一个,甚至从星期一开始的那一天是 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