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] # 返回字典查询结果
供大家参考,转载请指明出处。