#
-*- 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 :
# 制作一个日历(只显示阳历日期)
''' 实现方法:不使用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 :