python报表自动化系列 - 计算某年某个月的天数

Python计算某年某个月的天数(公历)

李俊才
邮箱:291148484@163.com

【函数说明】

传入参数yearmont表示某年的某个具体月份,返回该月的天数。

【实现方法】

每单我们指定一个公元纪年的年份,如2020年2月,要求函数返回该月有多少天。公元纪年法中1、3、5、7、8、10、12月为大月,都是31天;4、6、9、11月为小月,各有30天;依据年号是否剖能被4整除而区分平年与闰年,平年(不能被4整除的年)2月28天、闰年(可以被4整除的年)2月29天。

【代码实现】

def get_days(yearmonth):
	'''计算某年某个月的天数'''
    ym = str(yearmonth)
    try:
        year = ym[:4:1]
        month = ym[4:7:1]
    except:
        raise ValueError('警告:数据格式错误!')
    year = int(year)
    month = int(month)
    days = { 1:31, 3:31, 5:31, 7:31, 8:31, 10:31, 12:31,   #不论大月还是小月都用查字典法,定义大小月天数字典
            4:30, 6:30, 9:30, 11:30}
    if year %4 != 0:             # 不被4整除,则是平年
        days[2] = 28             # 平年2月28天,向字典中添加2月28天键值对
    else:                        # 否则,是闰年
        days[2] = 29             # 闰年2月29天,向字典中添加2月29天键值对
    return days[month]           # 返回字典查询结果 

供大家参考,转载请指明出处。

    原文作者:jcLee95
    原文地址: https://blog.csdn.net/qq_28550263/article/details/110731576
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞