python3获取前几周和后几周的每周第一天和最后一天日期

python3获取本周前几周和后几周跨度日期

1.直接上代码

import datetime, time
from datetime import timedelta

# 获取当前周前m周到后n周的每周开始日期和结束日期
def getWeekDaysByNum(m, n):
    # 当前日期
    now = datetime.datetime.now().date()
    dayDict = {}
    for x in range(m, n + 1):
    	#前几周
        if x < 0:
            lDay = now - timedelta(days=now.weekday() + (7 * abs(x)))
        #本周
        elif x == 0:
            lDay = now - timedelta(days=now.weekday())
        #后几周
        else:
            lDay = now + timedelta(days=(7 - now.weekday()) + 7 * (x - 1))
        rDay = lDay + timedelta(days=6)
        dayDict[x] = [str(lDay), str(rDay)]
    return dayDict

2.测试
获取前三周到后三周:
测试代码

print("今天是:" + str(datetime.date.today()))
print("获取跨度日期:" + str(getWeekDaysByNum(-3, 3)))

3.结果
测试结果

今天是:2019-12-04
获取跨度日期:{-3: ['2019-11-11', '2019-11-17'], -2: ['2019-11-18', '2019-11-24'], -1: ['2019-11-25', '2019-12-01'], 0: ['2019-12-02', '2019-12-08'], 1: ['2019-12-09', '2019-12-15'], 2: ['2019-12-16', '2019-12-22'], 3: ['2019-12-23', '2019-12-29']}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值