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

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

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

目录
相关文章
|
18天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
57 14
|
22天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
8天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
32 7
|
19天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
43 18
|
22天前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
24 7
|
23天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
32 7
|
22天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
30 4
|
21天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
7月前
|
算法 Python Java
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
82 0
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
|
Python
Python计算圆周率
Python计算圆周率
120 0