python - 如何根据scrapy中本周的日期获取上周作为开始日期和结束日期

标签 python date datetime scrapy python-datetime

如何根据本周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/

相关文章:

python - AttributeError: 'Nonetype'对象没有属性 'shape'

python - 在 Qt 中启动单独的进程

python - 相互播放音乐和音效 (PyGame)

Mysql STR_TO_DATE 在不同环境中给出不一致的结果

php - mdate() 函数 codeigniter - 错误

python - 从内部类访问外部类方法

c# - 如果日期为 24 :00 as time?,我该如何管理日期

java - 如何在java中查找本地/任何时区的时间戳过去的毫秒数

php - 日期时间字段的问题

php - 获取当前时间/日期的时间戳