#交互式窗口参考博客:hong2511的博客_CSDN博客-领域博主
#此文章意在记录自己的成长,欢迎有更好的思路的交流与各路大佬的指正~
def counting(year,month,day):
#输入年份判断是否闰年 能被4整除
days_count=0
days_R=[0,31,29,31,30,31,30,31,31,30,31,30,31]
#闰年月份天数
days_P=[0,31,28,31,30,31,30,31,31,30,31,30,31]
#平年月份天数
def sub_counting(months_number,year_sort):
days=0
for i in range(months_number):
days+=year_sort[i]
return(days)
if year%4==0 & year%100!=0 or year%400==0:
total=sub_counting(13,days_R)
days_count=sub_counting(month,days_R)+day
else:
total=sub_counting(13,days_P)
days_count=sub_counting(month,days_P)+day
return(total,days_count)
def counting_days():
year_start=int(e1.get())
month_start=int(e2.get())
day_start=int(e3.get())
year_end=int(e4.get())
month_end=int(e5.get())
day_end=int(e6.get())
def total_days(year,month,day):
days_year=0
for i in range(1,year):
days_year+=counting(i,1,1)[0]
counting_days_upgraded=days_year+counting(year,month,day)[1]
return(counting_days_upgraded)
total_days_start=total_days(year_start,month_start,day_start)
total_days_end=total_days(year_end,month_end,day_end)
counting_days_upgraded=total_days_end-total_days_start
print("两个日期的天数差是:",counting_days_upgraded)
from tkinter import *
root = Tk("日期差计算器")
Label(root,text='起始年').grid(row=0,column=0) # 对Label内容进行 表格式 布局
Label(root,text='起始月').grid(row=1,column=0)
Label(root,text='起始日').grid(row=2,column=0)
Label(root,text='结束年').grid(row=0,column=3)
Label(root,text='结束月').grid(row=1,column=3)
Label(root,text='结束日').grid(row=2,column=3)
v1=StringVar() # 设置变量 .
v2=StringVar()
v3=StringVar()
v4=StringVar()
v5=StringVar()
v6=StringVar()
e1 = Entry(root,textvariable=v1) # 用于储存 输入的内容
e2 = Entry(root,textvariable=v2)
e3 = Entry(root,textvariable=v3)
e4 = Entry(root,textvariable=v4)
e5 = Entry(root,textvariable=v5)
e6 = Entry(root,textvariable=v6)
e1.grid(row=0,column=1,padx=10,pady=5) # 进行表格式布局 .
e2.grid(row=1,column=1,padx=10,pady=5)
e3.grid(row=2,column=1,padx=10,pady=5)
e4.grid(row=0,column=4,padx=10,pady=5)
e5.grid(row=1,column=4,padx=10,pady=5)
e6.grid(row=2,column=4,padx=10,pady=5)
Button(root,text='退出',width=10,command=root.quit).grid(row=4,column=1,sticky=W,padx=10,pady=5) # 设置 button 指定 宽度 , 并且 关联 函数 , 使用表格式布局 .
Button(root,text='计算',width=10,command=counting_days).grid(row=4,column=3,sticky=E,padx=10,pady=5)
mainloop()