3.上周/本周/下周 周一的日期
代码部分:
import sys
from datetime import datetime, timedelta
def last_monday(date_str):
start = datetime.strptime(date_str, '%Y-%m-%d')
date = start + timedelta(-start.weekday()-7)
return date.strftime('%Y-%m-%d')
def this_monday(date_str):
start = datetime.strptime(date_str, '%Y-%m-%d')
date = start + timedelta(-start.weekday())
return date.strftime('%Y-%m-%d')
def next_monday(date_str):
start = datetime.strptime(date_str, '%Y-%m-%d')
date = start + timedelta(-start.weekday()+7)
return date.strftime('%Y-%m-%d')
while True:
line = sys.stdin.readline()
line = line.strip()
if line == '':
break
print('输入日期:', line)
print('上周一:', last_monday(line))
print('本周一:', this_monday(line))
print('下周一:', next_monday(line))
这边中主要是承接上篇文章,函数类型都差不多,但这部分代码中使用了start.weekday()函数,它返回的类型是days = n,如周一n就是0,周二n就是1等。