首页 > 生辰八字

起始日期结束日期计算天数推算起名八字(Python实战练手小项目)

日期 生辰八字 03-28

在平时生活中,我们经常需要计算起始日期和结束日期之间的天数,不管是计划旅行还是统计数据,这个功能都超级实用。在本文中,我们将使用Python编写一个实用的小项目——精密推算日期,来帮助我们完成这个任务。csS鬼金羊

在开始编写代码之前,大家需要先了解算法的思路。假设给定的起始日期为date1,结束日期为date2,大家需要计算它们之间的天数。first of all,俺们是可以先将两个日期转换为datetime对象,紧接着经过对它们进行减法操作得到一个timedelta对象,该对象预示两个日期之间的时间差。csS鬼金羊

接着下面,俺们是可以使用timedelta对象的days属性来获取这个时刻差相应的天数。最后,我们将这个天数返回作为结果。csS鬼金羊

此刻,使俺们开始编写代码。first of all,大家需要导入datetime模块,以便使以其中的相关类和函数:csS鬼金羊

```pythoncsS鬼金羊

importdatetimecsS鬼金羊

```csS鬼金羊

紧接着,我们定义一个函数,命名为calculate_days,接收两个参数,分别为起始日期和结束日期:csS鬼金羊

```pythoncsS鬼金羊

defcalculate_days(date1,date2):csS鬼金羊

#将起始日期和结束日期转换为datetime对象csS鬼金羊

date1=datetime。datetime。strptime(date1,'%Y-%m-%d')csS鬼金羊

date2=datetime。datetime。strptime(date2,'%Y-%m-%d')csS鬼金羊

#计算时间差csS鬼金羊

timedelta=date2-date1csS鬼金羊

#获取时间差相应的天数csS鬼金羊

days=timedelta。dayscsS鬼金羊

#返回结果csS鬼金羊

returndayscsS鬼金羊

```csS鬼金羊

此刻,俺们是可以调用这个函数来计算起始日期和结束日期之间的天数了。csS鬼金羊

```pythoncsS鬼金羊

start_date='2022-01-01'csS鬼金羊

end_date='2022-01-10'csS鬼金羊

result=calculate_days(start_date,end_date)csS鬼金羊

print('起始日期:',start_date)csS鬼金羊

print('结束日期:',end_date)csS鬼金羊

print('天数:',result)csS鬼金羊

```csS鬼金羊

运行代码后,我们将得到如下输出:csS鬼金羊

```csS鬼金羊

起始日期:2022-01-01csS鬼金羊

结束日期:2022-01-10csS鬼金羊

天数:9csS鬼金羊

```csS鬼金羊

通过这个实际案例,俺们是可以看见起始日期和结束日期之间的天数为9天。这个小项目特别容易,但却能够帮助我们解决实际问题,提高工作效率。csS鬼金羊

汇总起来,我们用Python编写了一个实用的小项目——精密推算日期,用于计算起始日期和结束日期之间的天数。通过将日期转换为datetime对象,并使用timedelta对象计算时间差,我们获得了准确的结果。这个小项目不但能够帮助我们完成日常任务,还不错加深大家对日期和时间处理的理解。csS鬼金羊

来源头条作者:Super招财喵儿实操案例十四。再来看一下实操案例十四的第2个任务,叫精密推算几天后的日期。事实上在14章当中,给大众讲的是关于模块的事情。Python当中有许多许多的第3方模块值得大家去学习,它真的可以帮我们实现样式不一的功能。今天精密推算日期的模块叫什么?它叫做datetime,不需要安装,直接就能够使用的。·first of all去输一个字符串,打比方说2020年的8月8号,就能够输20200808。·再输一个间隔的天数之后,它会给你精密推算出来在刚才输入的基础上往后间隔了多久,是哪一号。·此刻来给大众实现这个功能,新建一个Python文件叫做demo二、·在这的时刻既然它跟日期时间有关,因此要导入一个模块叫datetime,叫做input_date。输入时输入日期,在这的时刻写的input,请输入开始日期。输入开始日期亦不是随便输入的,会给一个格式,打比方说20200808,20200808。·输完之后按回车,事实上此句话不写也是可以的,按回车。·要是手抖了,一不小心了输个空格如何办?有这样的状况,要是一不小心手抖了输空格如何办?因此要去掉前后的空格,紧接着开始进行split的分割。·datestr怎么分割?从0开始,这是一个字符串,0123,0123是年,因此在这的时刻要给它拆分出来,叫做indate。·indate要从1拆到几?到4,它是不包括4的。从0开始,0,1,2,3是不包括4的。·紧接着去连接上下划线,再进行拆分,叫indate。刚才是不包括4的,此刻应该从4开始拆,这个是索引为,这是4,5是不包括6的。所以是16,这是字符串的切片操作。·紧接着再去连上indate,刚才是到是不包括6的,所以此刻从6是还是不是一直切到最后就能够了。·在组成如此的字符串之后需要进行格式的转换,因此叫将字符串转成日期时间,需要用到datetime之中的datetime这个类,它有一个叫strptime,给我一个字符串,再给我一个需要转换的格式,这个叫做年,m是小写的,大写不行,m是小写的,这个叫年月日。·把这个返回去之后,这是日期时间类型,需要数间隔的天数,在这的时刻开始写上main,要精密推算几天后的日期,先把日期先叫sdate,去调用这一个函数,调用这函数会获得如此的日期时间型,需要干什么?请输入间隔天数,紧接着需要去计算in_num,要把它转成整数,请输入间隔的天数。·做完间隔天数之后就能够去使用它了,它有那么一个叫什么?这个叫sdate,是否刚才得到返回值,让它去连,加上,这不是连接叫加上datetime,当中有一个叫做timedelta(),有个如此的方法,在这告知我,就是它间隔天数吗?在这告知我days几天,叫in_num,紧接着将它的结果再去放到datetime当中去存储。·此刻再去输出精密推算的日期是什么?您精密推算的日期是?str()再连上date,此刻运行20200808,紧接着它在这告知我报了一个错,报了一个什么错?在这进行strptime()进行传参的时刻,它有一个,不过必须是什么str类型的,因此在这传参应该传的是datestr,传错参数了。此刻20200808间隔10天,告知你2020年的8月18号。此刻要这样写,20200808看见吗?间隔天数是-10,它会告知你是多少?是7月29号。假如在整个的结果不太算满意的时刻,可以对它进行分割,它叫做split,依照空格去给它拆,拆完之后要索引为0的。依照空格会拆分出两部分,一个是2020-07-29空格,拆分完之后就一部分年月日,一部分是时分秒,而不要时分秒,只要年月日20200808输个-10,它会告知你是2020-07-29,就比刚才不要的年月日十分秒会更好看一些。这个就是第一4章之中的第2个任务,叫做精密推算几天后的日期。还有许多的模块,大家千万别着急,慢慢去学习。csS鬼金羊

csS鬼金羊

标签: