课堂练习6:日期差异计算器
编写一个函数,接收两个日期参数,格式为"%Y%m%d",例如"20240920",为第二个日期参数提供一个默认值,这个默认值为今天的日期,然后返回两个日期相差的天数。
Python 的 datetime 模块用于处理日期和时间。以下是datetime 模块一些方法的详细介绍:
-
now()方法:这是datetime类的一个方法,用于获取当前的日期和时间。例如:from datetime import datetime print(datetime.now())这将打印出当前的日期和时间,如
2024-09-25 12:22:17.123456。 -
date()方法:这是datetime类的一个方法,用于获取一个datetime对象的日期部分。例如:from datetime import datetime dt = datetime.now() print(dt.date())这将打印出当前日期,如
2024-09-25。 -
strptime()方法:这是datetime类的一个方法,用于将一个字符串解析为datetime对象。这个方法需要两个参数:日期/时间的字符串,以及对应的格式字符串。例如:from datetime import datetime dt = datetime.strptime("2024-09-25", "%Y-%m-%d") print(dt)这将打印出
2024-09-25 00:00:00,表示将字符串 "2024-09-25" 解析为日期。 -
days属性:这是timedelta类的一个属性,用于获取一个timedelta对象中的天数部分。timedelta对象表示两个日期或时间之间的差。例如:from datetime import datetime, timedelta dt1 = datetime.strptime("2024-09-25", "%Y-%m-%d") dt2 = datetime.strptime("2024-10-25", "%Y-%m-%d") delta = dt2 - dt1 print(delta.days)这将打印出
30,表示 "2024-09-25" 和 "2024-10-25" 之间相差 30 天。
注意:datetime 类的 now() 和 strptime() 方法,以及 timedelta 类的 days 属性,都需要通过 datetime 模块来访问。而 date() 方法则是 datetime 类的实例方法,需要通过 datetime 对象来访问。
提示:
1、导入datetime模块
from datetime import datetime
2、使用datetime的.now().date()方法获取今天的日期
3、使用.strftime("%Y%m%d")方法对获取的日期进行格式化
today_date = datetime.now().date().strftime("%Y%m%d")
4、将字符串日期转换为datetime的日期对象
d1 = datetime.strptime(date1, "%Y-%m-%d")
d2 = datetime.strptime(date2, "%Y-%m-%d")
5、计算日期差,使用abs获取日期差的绝对值
delta = abs(d1-d2)
difference = delta.days