制作一个简易的日期差计算器

#交互式窗口参考博客: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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值