import numpy as np
import time
def datedistance(day1, day2): # day2是日期较大的一天,day1是日期较小的一天
year = np.linspace(day1[0], day2[0], day2[0] - day1[0] + 1).astype(int)
flag1 = np.zeros((12,))
for i in range(day1[1] - 1):
flag1[i] = 1
flag2 = np.zeros((12,))
for i in range(day2[1] - 1):
flag2[i] = 1
year1 = 0
if (day1[0] % 4 == 0 and day1[0] % 100 != 0) or (day1[0] % 400 == 0 and day1[0] % 100 == 0):
for j in range(12):
year1 += flag1[j] * month1[j]
else:
for j in range(12):
year1 += flag1[j] * month2[j]
year1 += day1[2]
year2 = 0
if (day2[0] % 4 == 0 and day2[0] % 100 != 0) or (day2[0] % 400 == 0 and day2[0] % 100 == 0):
for j in range(12):
year2 += flag2[j] * month1[j]
else:
for j in range(12):
year2 += flag2[j] * month2[j]
year2 += day2[2]
for item in year[:-1]:
if (item % 4 == 0 and item % 100 != 0) or (item % 400 == 0 and item % 100 == 0):
year2 += 366
else:
year2 += 365
return int(year2 - year1)
now_time = time.strftime('%Y,%m,%d', time.localtime())
month1 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 闰年
month2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 普通年
print('请输入较前日期的年份,月份,日期(示例:2020,1,25):')
a1, b1, c1 = map(int, input('输入年月日,用逗号隔开:').split(',' or ','))
d1 = [a1, b1, c1]
print('请输入较后日期的年份,月份,日期(示例:2020,1,25):')
a2, b2, c2 = map(int, input('输入年月日,用逗号隔开:').split(',' or ','))
# a2, b2, c2 = map(int, input('输入年月日,用逗号隔开:').split(','))
d2 = [a2, b2, c2]
print('{}年{}月{}日和{}年{}月{}日之间有{}天'.format(a1, b1, c1, a2, b2, c2, datedistance(d1, d2)))