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]           # 返回字典查询结果 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jcLee95

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值