#!/usr/bin/env python
#获取天数
def getDays(year,month,day):
leap_year_month_list = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
nleap_year_month_list = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
sum_days = 0
sum_days += day
if year < 1900:
for year in range(year,1899):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
sum_days += 366
else:
sum_days += 365
for iyear in range(1900,year):
if (iyear % 4 == 0 and iyear % 100 != 0) or iyear % 400 == 0:
sum_days += 366
else:
sum_days += 365
if year >= 1900:
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
# print("leap_year_month_list",year)
for i in range(1,month):
sum_days += leap_year_month_list[i]
# print(leap_year_month_list[i])
else:
# print("nleap_year_month_list",year)
for i in range(1,month):
sum_days += nleap_year_month_list[i]
# print(nleap_year_month_list[i])
else:
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
# print("leap_year_month_list",year)
for i in range(month,12):
sum_days += leap_year_month_list[i]
# print(leap_year_month_list[i])
else:
# print("nleap_year_month_list",year)
for i in range(month,12):
sum_days += nleap_year_month_list[i]
# print(nleap_year_month_list[i])
return sum_days
#判断日期是否正确
def isDays(year,month,day):
leap_year_month_list = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
nleap_year_month_list = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
flag = 0
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
if month > 0 and month <= 12:
if day > leap_year_month_list[month]:
flag = 1
else:
flag = 1
else:
if month > 0 and month <= 12:
if day > nleap_year_month_list[month]:
flag = 1
else:
flag = 1
return flag
weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六']
while True:
year = int(input("请输入一个日期 年:"))
month = int(input("请输入一个日期 月:"))
day = int(input("请输入一个日期 日:"))
flag = isDays(year,month,day)
if flag == 1:
print("日期格式错误,请继续输入!")
continue
sum_days = getDays(year, month, day)
print(sum_days)
day_of_the_week = int(sum_days % 7)
date = str(year) + '.' + str(month) + '.' + str(day)
print("%s 星期 %s" % (date,weeks[day_of_the_week]))