python判断当前的月份是大月、小月还是平月以及对于的天数

本文介绍了如何使用Python的datetime库获取当前日期,并根据日期判断月份是大月、小月还是平月。通过today()函数获取当前时间,结合预定义的月份天数列表进行判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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))

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值