使用python程序判断某天是不是每个月的第三周的周六问题

假如每个月的第三周的周六是某品牌的会员日,写一个函数ChackDate(date),判断当天是否是品牌日。
例如:
ChackDate(“20180911”)
flase
ChackDate(“20180915”)
true

from datetime import datetime


def CheckDate(data):
    year = int(data[:4])
    month = int(data[4:6])
    day = int(data[6:8])
    end = int(datetime(year, month, day).strftime("%W"))
    begin = int(datetime(year, month, 1).strftime("%W"))
    if end - begin + 1 >= 3:
        week = datetime.strptime(data, '%Y%m%d').weekday()
        if int(week) == 5:
            print('true')
        else:
            print('false')
    else:
        print('false')

if __name__ == '__main__':
    CheckDate("20180916")

如果是判断是否过了品牌日,则可以:

from datetime import datetime


def CheckDate(data):
    year = int(data[:4])
    month = int(data[4:6])
    day = int(data[6:8])
    end = int(datetime(year, month, day).strftime("%W"))
    begin = int(datetime(year, month, 1).strftime("%W"))
    if end - begin + 1 >= 3:
        week = datetime.strptime(data, '%Y%m%d').weekday()
        if int(week) == 6 or end - begin + 1 > 3 :
            print('true')
        else:
            print('false')
    else:
        print('false')

if __name__ == '__main__':
    for i in range(20180901,20180931):
        CheckDate(str(i))

初学python,欢迎大佬指点教导。

猜你喜欢

转载自blog.csdn.net/weixin_42370917/article/details/82626640