#输入的两个日期都被包括在天数内
#需要考虑闰年
#举例:
输入1 1 2022和11 4 2022
输出101(31+28+31+11=101)
输入1 10 2022
11 10 2022
输出11
输入1 9 2022
1 10 2022
输出31
输入20 5 1999
9 9 2004
输出1940
import time
def get_day():
d1 = input("输入第一个日期,空格隔开,日 月 年:")
d2 = input("输入第二个日期,空格隔开,日 月 年:")
sec1 = time.mktime(time.strptime(d1, '%d %m %Y')) # 字符串转为时间戳
sec2 = time.mktime(time.strptime(d2, '%d %m %Y')) # 字符串转为时间戳
diff_sec = sec2-sec1
diff_day = int(diff_sec/60/60//24)+1
print(diff_day)
while True:
get_day()
import datetime
y1 = input("").split(" ")[::-1]
y2 = input("").split(" ")[::-1]
d1 = datetime.datetime(int(y1[0]),int(y1[1]),int(y1[2])) # 第一个日期
d2 = datetime.datetime(int(y2[0]),int(y2[1]),int(y2[2])) # 第二个日期
interval = d2 - d1 # 两日期差距
print(interval.days + 1) # 具体的天数加1
class Date:
def __init__(self, d, m, y):
self.d = d
self.m = m
self.y = y
monthDays = [31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31]
def countLeapYears(d):
years = d.y
if (d.m <= 2):
years -= 1
return int(years / 4) - int(years / 100) + int(years / 400)
def getDifference(dt1, dt2):
n1 = dt1.y * 365 + dt1.d
for i in range(0, dt1.m - 1):
n1 += monthDays[i]
n1 += countLeapYears(dt1)
n2 = dt2.y * 365 + dt2.d
for i in range(0, dt2.m - 1):
n2 += monthDays[i]
n2 += countLeapYears(dt2)
return (n2 - n1)
dt1 = Date(13, 12, 2018)
dt2 = Date(25, 2, 2019)
print(getDifference(dt1, dt2), "days")
import datetime
d1 = input(">>>")
d2 = input(">>>")
dd1 = datetime.datetime.strptime(d1, '%d %m %Y')
dd2 = datetime.datetime.strptime(d2, '%d %m %Y')
print((dd2 - dd1).days + 1)
from datetime import datetime
date1 = datetime.strptime(input(), "%d %m %Y")
date2 = datetime.strptime(input(), "%d %m %Y")
print((date2 - date1).days+1)
https://blog.csdn.net/u013493751/article/details/100056257
-