python之中是有datatim这个数据类型来表示日期的,而日期之间也是可以去进行大小比较,那么两个日期之间可以通过计算来得到相差天数以及月数。下面会以实际代码示例来详细讲解python日期相差天数以及月数的计算方法,感兴趣的小伙伴就一起往下看看吧。
相差天数和月数计算
1.那么首先需要定义导入模块并定义函数来从外部获取到日期数据并将其返回出去,这一步也可以直接写固定的值,代码示例如下所示:
import time import sys def dateinput(): date = raw_input('') return date
2.然后还是要定义函数,这个函数就是用来将传进来的具体日期时间转为只有日期的格式,因为天数和月数之间的计算不需要精确到时分秒。在函数之中调用striptime()方法,并传入%Y-%m-%d参数即可将时间转为年月日格式。
然后再调用mktime()方法将该日期转为时间戳格式返回出去以方便后续的计算操作,详细代码示例如下所示:
def datetrans(tdate): spdate = tdate.replace("/","-") datesec = time.strptime(spdate,'%Y-%m-%d') return time.mktime(datesec)
3.第三步还是定义函数,不过这个函数需要传入两个参数,也就是进行相差添加计算的两个时间戳。此函数内先定义变量来获取到一天时间的总秒数,然后用前者减去后者再除以一天总秒数对象即可得到相差天数。使用int()函数就可以不出现负数,代码如下:
def daysdiff(d1,d2): daysec = 24 * 60 * 60 return int(( d1 - d2 )/daysec)
4.最后就是先调用两次一个函数来获取到两个时间或者日期,然后再将它们作为参数传入到第二个函数中的到对应的时间戳。使用print()函数来输出计算结果并且调用第三个函数即可,代码如下:
date1 = dateinput() date2 = dateinput() date1sec = datetrans(date1) date2sec = datetrans(date2) print(daysdiff(date1sec,date2sec))
而计算两个日期相差月数,只需要在第三个函数中,将变量daysec赋值的表达式后面再乘上一个30即可。
以上就是关于“Python日期相差天数怎么计算?Python计算两个日期相差月数如何实现”的全部内容了,希望对你有所帮助。