1.實現
def get_monday_to_sunday(today, weekly=0):
"""
:function: 獲取指定日期的周一和周日的日期
:param today: '2021-11-16'; 當前日期:today = datetime.now().strftime('%Y-%m-%d')
:param weekly: 獲取指定日期的上幾周或者下幾周,weekly=0當前周,weekly=-1上一周,weekly=1下一周
:return: 返回指定日期的周一和周日日期
:return_type: tuple
"""
last = weekly * 7
today = datetime.strptime(str(today), "%Y-%m-%d")
monday = datetime.strftime(today - timedelta(today.weekday() - last), "%Y-%m-%d")
monday_ = datetime.strptime(monday, "%Y-%m-%d")
sunday = datetime.strftime(monday_ + timedelta(monday_.weekday() + 6), "%Y-%m-%d")
return monday, sunday
2.測試
#### 輸入1
today = '2021-11-16' # 指定的日期,或者當前日期=datetime.now().strftime('%Y-%m-%d'),這里的日期格式以“-”分隔
weekly = -1
print(get_monday_to_sunday(today, weekly))
#### 輸出1
('2021-11-08', '2021-11-14') # 上一周
#### 輸入2
today = '2021-11-16'
weekly = 0
print(get_monday_to_sunday(today, weekly))
#### 輸出2
('2021-11-15', '2021-11-21') # 當前周
#### 輸入3
today = '2021-11-16'
weekly = 1
print(get_monday_to_sunday(today, weekly))
#### 輸出3
('2021-11-22', '2021-11-28') # 下一周