Python小例子——输入某年某月某日,判断这一天是这一年的第几天

# -*- coding: utf-8 -*-
"""
     作者:宇轩亚40
     功能:输入某年某月某日,判断这一天是这一年的第几天?
"""
from datetime import datetime
def is_leap_year(year):
    """
    判断year是否为闰年,是返回True,否返回False
    """
    is_leap = False
    if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
        is_leap = True
    return  is_leap
def main():
    """
    主函数
    """
    input_date_str = input('请输入日期(yyyy/mm/dd):')
    input_date = datetime.strptime(input_date_str, '%Y/%m/%d')
    print(input_date)
    year = input_date.year
    month = input_date.month
    day = input_date.day
    # #包含30天的月份集合
    # _30_days_months_set = {4, 6, 9, 11}
    # _31_days_months_set = {1, 3, 5, 7, 8, 10, 12}
    #月份—天数  字典
    month_day_dict = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
    days = day
    for i in range(1, month):
        days += month_day_dict[i]

    if is_leap_year(year) and month > 2:
        days += 1

    # #计算之前月份天数总和和当前月数天数
    # days_in_month_list = [31,28,31,20,31,30,31,31,30,31,30,31]
    # if is_leap_year(year):
    #     days_in_month_list[1] = 29
    # days = sum(days_in_month_list[:month-1]) + day

    print('这是{}年的第{}天'.format(year, days))

if __name__ == '__main__':
    main()

运行上述程序,程序运行结果如下所示:

请输入日期(yyyy/mm/dd):2020/05/16
2020-05-16 00:00:00
这是2020年的第137天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值