使用Tkinter做个日历

这个博客介绍如何使用Python的Tkinter库来创建一个简单的日历应用。通过计算给定日期的星期几,结合年份和月份,生成5x7的Label布局,并在用户选择日期时更新日历显示。应用包括年、月、日的选择以及更新按钮,点击更新按钮会根据所选日期重新绘制日历。
摘要由CSDN通过智能技术生成
#  -*- coding: cp936 -*-
#
 制作一个日历(只显示阳历日期)
''' 实现方法:不使用python提供的calendar,根据给出的日期计算:
1。先根据输入年份得到这一年的第一天是星期几((year + (year - 1)/4 - (year - 1)/100 + (year -1)/400)% 7)
2。再依据输入的日期(只需要年月就可以了)得到这个日期得到在当前年份的第几天
3。根据1和2得到当前月份的第一天是星期几。
4。创建日历,其实就是在5x7的表格中预先放置5*7个Label,分别表示1-31的情况(应该包含所有的情况)。
5。将1-31从得到的位置开始打印出来,以7为一行。
6。更新日历,当对日历头进行操作(改变日期时)就会更新日历显示的内容。
7。整个组件的布局是7x7的表格方式。第一行显示日历头,包括年月日的显示与选择;第二行为显示的日期,3-7为显示的月份信息。
'''
class  Calendar:
    
pass
AppCal 
=  Calendar()
import  time
def  calcFirstDayOfMonth(year,month,day):
    
''' 计算某一日的是星期几 '''
    months 
=  (0, 31 , 59 , 90 , 120 , 151 , 181 , 212 , 243 , 273 , 304 , 334 )
    
if  0  <=  month  <=   12 :
        sum 
=  months[month  -   1 ]
    
else :
        
print   ' data error '
    
#  对年月做了判断,日只是加了上下限,没有根据月判断输入的是否合法
     if  year  <  0  or  month  <  0  or  month  >   11   or  day  <  0  or  day  > 31 :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值