【问题标题】:How can I get the previous week in Python?如何在 Python 中获得前一周的数据?
【发布时间】:2013-11-10 07:09:33
【问题描述】:

我目前正在获取从星期一开始并在星期日结束的本周,但我如何才能获取从星期一开始并在星期日结束的上一周?以下是我本周的内容:

>>> import datetime
>>> today = datetime.date.today()
>>> weekday = today.weekday()
>>> start_delta = datetime.timedelta(days=weekday)
>>> start_of_week = today - start_delta
>>> week_dates = []
>>> for day in range(7):
...     week_dates.append(start_of_week + datetime.timedelta(days=day))
...
>>> week_dates
[datetime.date(2013, 10, 28), datetime.date(2013, 10, 29), datetime.date(2013, 10, 30),     datetime.date(2013, 10, 31), datetime.date(2013, 11, 1), datetime.date(2013, 11, 2), datetime.date(2013, 11, 3)]
>>> week_dates[0], week_dates[-1]
(datetime.date(2013, 10, 28), datetime.date(2013, 11, 3)) <--- Monday, Sunday

【问题讨论】:

标签: python python-2.7 python-datetime


【解决方案1】:

只需将weeks=1 添加到您的start_delta 即可减去额外的一周:

>>> start_delta = datetime.timedelta(days=weekday, weeks=1)

因此,对于今天(2013 年 10 月 30 日,星期三),start_delta 将是 9 天(回到 2013 年 10 月 21 日的上一个星期一)。

>>> start_delta
datetime.timedelta(9)
>>> start_of_week = today - start_delta
>>> start_of_week
datetime.date(2013, 10, 21)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2015-11-14
    相关资源
    最近更新 更多