13272.上週/本週/下週 週一的日期

題目鏈接

題目受版權保護,不可轉載,參見上述鏈接

input

2019-03-21
2019-01-01

output

輸入日期: 2019-03-21
上週一: 2019-03-11
本週一: 2019-03-18
下週一: 2019-03-25
輸入日期: 2019-01-01
上週一: 2018-12-24
本週一: 2018-12-31
下週一: 2019-01-07

My Code

import sys
import datetime
import calendar


def last_monday(date_str):
    today = date_str.split("-")
    todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
    d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
    return (d + datetime.timedelta(days = -todayweekday - 7)).strftime("%Y-%m-%d")


def this_monday(date_str):
    today = date_str.split("-")
    todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
    d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
    return (d + datetime.timedelta(days = -todayweekday)).strftime("%Y-%m-%d")

    
def next_monday(date_str):
    today = date_str.split("-")
    todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
    d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
    return (d + datetime.timedelta(days = 7 - todayweekday )).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))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章