编写一个程序,计算两个日期之间的天数。
- 导入
datetime
模块。 - 定义函数
calculate_days_between()
数,其中有两个参数:(date1, date2)
,类型为字符串,格式为YYYY-MM-DD
。 - 在函数内,将字符串转换为
datetime
对象,并计算date2
和date1
之间的差异,以天为单位。 - 以天数的差异作为输出返回。
示例输入
2023-04-14 2023-04-20
示例输出
6
本题涉及datetime模块的应用。
首先介绍timedelta对象,该对象可以由datetime.timedelta()函数进行创建,其没有month和year关键字参数,其拥有的总时间由天、秒、微妙来表示,分别保存在days、seconds和microseconds属性中。本题代码中d2-d1的结果就是timedelta对象。
本题还用到了将字符串转换为datetime对象的函数strptime()函数,其作用是将一个字符串的日期信息转换为datetime对象。格式是datetime.datetime.strptime(string,format),其中的string表示要转换的字符串,format表示对应的格式,与要解析的字符串格式一致。其中%Y表示年份,如2022,%m表示月份,%d表示一月中的天数。
另外还有将datetime对象转换为字符串的方法strftime()函数,其作用与strptime相反,但是用法一样。
import datetime
def calculate_days_between(date1, date2):
# 在此处编写你的代码
d1=datetime.datetime.strptime(date1,"%Y-%m-%d")
d2=datetime.datetime.strptime(date2,"%Y-%m-%d")
return (d2-d1).days
# 获取用户输入
date1 = input()
date2 = input()
# 调用函数
print(calculate_days_between(date1, date2))