python处理和分析日期数据

题目描述

输入一个8位数字的字符串表示年月日,如20200220,前4位表示年份,56位表示月份,7-8位表示日期。请编写代码对日期数据进行处理和分析。

闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。平年有365天,闰年有366天(2月中多一天),公历年份是400的倍数为国年,或年份是4的倍数且不是100的倍数的为闰年。
输入要求:输入一个8位长度的表示日期的数字字符串(题目确保输入的字符串只包含0-9的数字,且长度为8位)。

输出要求:输出当前月份共有多少天?

案例代码

def is_leap_year(year):
    return year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)

def get_days_in_month(year, month):
    if month in [1, 3, 5, 7, 8, 10, 12]:
        return 31
    elif month == 2:
        if is_leap_year(year):
            return 29
        else:
            return 28
    else:
        return 30

date_str = input("请输入一个8位数字的日期(格式:YYYYMMDD):")
year = int(date_str[:4])
month = int(date_str[4:6])

days_in_month = get_days_in_month(year, month)
print(f"当前月份共有 {days_in_month} 天。")

这段代码中,is_leap_year函数用于判断是否为闰年,根据输入的年份进行计算。get_days_in_month函数根据给定的年份和月份,返回该月份的天数。

在主程序中,首先要求用户输入一个8位数字的日期字符串,然后提取年份和月份。接下来,调用get_days_in_month函数获取该月份的天数,并将结果输出。

在线运行截图

图片[1]-python处理和分析日期数据-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享