python算两个时间之间的天数,将天数转成int型

import time
import datetime
 
#计算两个日期相差天数,自定义函数名,和两个日期的变量名。
def Caltime(date1,date2):
    #%Y-%m-%d为日期格式,其中的-可以用其他代替或者不写,但是要统一,同理后面的时分秒也一样;可以只计算日期,不计算时间。
    #date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S") 
    #date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S")
    date1=time.strptime(date1,"%Y/%m/%d")
    date2=time.strptime(date2,"%Y/%m/%d")
    #根据上面需要计算日期还是日期时间,来确定需要几个数组段。下标0表示年,小标1表示月,依次类推...
    #date1=datetime.datetime(date1[0],date1[1],date1[2],date1[3],date1[4],date1[5])
    #date2=datetime.datetime(date2[0],date2[1],date2[2],date2[3],date2[4],date2[5])
    date1=datetime.datetime(date1[0],date1[1],date1[2])
    date2=datetime.datetime(date2[0],date2[1],date2[2])
    #返回两个变量相差的值,就是相差天数
    print((date2-date1).days)#将天数转成int型
    return(date2-date1)

if __name__=='__main__':
    print('请输入较早日期(格式例:xxxx/xx/xx):')
    dt1=input()
    print('\n请输入较晚日期(格式为:xxxx/xx/xx):')
    dt2=input()
    print('较早日期为:'+dt1+'  较晚日期为:'+dt2)
    print('\n两个日期相差 ')
    Caltime(dt1,dt2)
    print (Caltime(dt1,dt2))
    print (type(Caltime(dt1,dt2)))

以下是用Python编写计两个日期之间天数的示例代码: ```python # 定义每个月的天数 month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 计两个日期之间天数 def days_between_dates(date1, date2): # 将日期字符串转换为年、月、日的整数 year1, month1, day1 = map(int, date1.split('-')) year2, month2, day2 = map(int, date2.split('-')) # 计年份之间天数 days = (year2 - year1) * 365 # 计闰年的数量 leap_years = count_leap_years(year1, year2) # 加上闰年天数 days += leap_years # 计月份之间天数 days += count_days_in_months(year1, month1, day1, year2, month2, day2) return days # 计年份之间的闰年数量 def count_leap_years(year1, year2): count = 0 for year in range(year1, year2 + 1): if is_leap_year(year): count += 1 return count # 判断是否是闰年 def is_leap_year(year): if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: return True else: return False # 计月份之间天数 def count_days_in_months(year1, month1, day1, year2, month2, day2): days = 0 # 如果是同一年,则计月份之间天数 if year1 == year2: for month in range(month1, month2): days += month_days[month - 1] days += day2 - day1 # 如果不是同一年,则计第一年剩余天数和最后一年已过天数,中间年份按照一年365天计 else: days += month_days[month1 - 1] - day1 for month in range(month1 + 1, 13): days += month_days[month - 1] for year in range(year1 + 1, year2): if is_leap_year(year): days += 366 else: days += 365 for month in range(1, month2): days += month_days[month - 1] days += day2 return days # 测试代码 date1 = '2021-06-01' date2 = '2022-03-15' days = days_between_dates(date1, date2) print(days) ``` 在上面的代码中,我们首先定义了每个月的天数,然后编写了三个函数来计年份之间的闰年数量、判断是否是闰年以及计月份之间天数。最后,我们编写了一个主函数来计两个日期之间天数。通过这些函数的协作,我们就可以实现一个简单而实用的日期计器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡军帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值