python 如何获取一年多少天,如何获取一年中某个月多少天

方法一:(比较聪明方法)
#某年天数
year_days = 366 if calendar.isleap(int(str(year_num))) else 365

#某年某一个月天数
month_days = calendar.monthrange(int(str(year_num)), int(str(month_num))[1]

方法二:(笨方法)

#获取某年一共多少天
def year_days_num(year):

    #这一年第一天和这一年最后一天
    startDay = str(year)+'-01-01'
    endDay = str(year)+'-12-31'

    #天数
    year_days_mum = (datetime.datetime.strptime(endDay, "%Y-%m-%d") - datetime.datetime.strptime(startDay, "%Y-%m-%d")).days +1

    print('{}年一共{}天'.format(year,year_days_mum))
    return year_days_mum

#获取某年某月一共多少天
def month_days_mum(year_days,year_month):
    #year_month = period对象  '2017-12'
    num = int(str(year_month).split('-')[1])
    if num in (1, 3, 5, 7, 8, 10, 12):
        month_days = 31
    elif num == 2:
        if year_days==366:  # 为闰年
            month_days=29
        else:
            month_days = 28
    else:
        month_days = 30
    return month_days

你可能感兴趣的:(工作中出现的小功能点)