SWUST派森 #P109. 日期计算

描述

输入一个日期,输出这个日期是这一年的第几天

样例

输入

2023-3-14

输出

73

代码:

import datetime
a = input().split('-')
d1 = datetime.datetime(int(a[0]),int(a[1]),int(a[2]))
d2 = datetime.datetime(int(a[0]),1,1)
print((d1-d2).days+1)

代码解析:

  1. import datetime:导入datetime模块,用于处理日期和时间的操作。

  2. a = input().split('-'):输入一个日期,使用split()方法以"-"为分隔符将其拆分为列表。

    • input()用于接收用户的输入,这里是一个日期字符串。

    • split('-')将日期字符串按照"-"分隔,返回一个包含拆分后的子字符串的列表。例如,输入"2022-06-15",则返回列表["2022", "06", “15”],分别表示年、月、日。

  3. d1 = datetime.datetime(int(a[0]), int(a[1]), int(a[2])):创建一个datetime对象d1,表示输入的日期。

    • datetime.datetime()是datetime模块中的一个类,用于表示日期和时间。

    • int(a[0])int(a[1])int(a[2])将拆分后的列表中的元素转换为整数,分别表示年、月、日。

    • datetime.datetime(year, month, day)创建一个datetime对象,表示具体的日期。

  4. d2 = datetime.datetime(int(a[0]), 1, 1):创建一个datetime对象d2,表示输入日期的当年的1月1日。

    • 这里的参数分别是输入日期的年份、月份(设置为1)、日份(设置为1)。

  5. (d1 - d2).days + 1:计算输入日期和当年1月1日之间的天数,并加1表示包括输入日期。

    • d1 - d2计算两个日期之间的时间差,得到一个timedelta对象。

    • .days访问timedelta对象的days属性,表示时间差的天数。

    • + 1将计算得到的天数加1,以包括输入日期。

    • 最终结果表示输入日期是该年的第几天。

  6. print((d1 - d2).days + 1):输出计算得到的结果,即输入日期是该年的第几天。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值