使用python来确定月份的信息,首先需要确定当前的月份是几月,判断是不是平月以及有多少天还需要判断当前年份,这里需要用到一个标准库:datetime,通过这个标准库,可以获取到当前系统的时间信息
打开python自带的解释器:IDLE,输入
from datetime import datetime
然后在输入:help(datetime)可以查看具体的用法,如下,因为太长了,这里只截取需要用到的today()函数的用法
标红部分:通过today()函数,可以获取到当前的日期
好了,通过这个datetime标准库我们可以获取到当前的月份和年份了,下面就是判断月份是大月、小月还是平月,这个是固定的,可以将值放在列表中(因为是不变的,这里存储在元祖中更好)
分析的差不多了,下面就直接贴代码了:
# -*- coding:utf-8 -*-
'''
月份计算:判断指定月份是大月、小月还是平月以及多少天
'''
# 导入datetime模块确定月份
from datetime import datetime
# 大月
big_month = [1, 3, 5, 7, 8, 10, 12]
# 小月
small_month = [4, 6, 9, 11]
# 平月
flat_month = [2]
def compute_day_month(m):
'''
判断指定的月份是大月、小月还是平月
:param m: 指定的月份
:return: 返回一个字典:包含月份的天数、月份的类型
'''
print('>>>>>开始计算指定的月份:%s的信息<<<<<' % (m, ))
# 返回的数据
out_data = {'code': 0, 'msg': 'success'}
if m in big_month:
# 大月
out_data['days'] = 31
out_data['type'] = 'Big Month'
elif m in small_month:
# 小月
out_data['days'] = 30
out_data['type'] = 'Small Month'
elif m in flat_month:
# 平月
out_data['type'] = 'Flat Month'
# 平月天数:闰年29天,平年28天
year = datetime.today().year
print('>>>>>年份信息是:%s<<<<<' % (year, ))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
# 闰年
out_data['days'] = 29
else:
out_data['days'] = 28
else:
# 其他数据都是错误的
out_data['code'] = -1
out_data['msg'] = '数据异常,月份信息有误'
return out_data
# 测试
if __name__ == '__main__':
month = datetime.today().month
month_info = compute_day_month(month)
print(month_info)
for (k, v) in month_info.items():
print('>>>>>%s = %s<<<<<' % (k, v))
运行结果如下: