2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 计算某年某月某日是星期几 Python

计算某年某月某日是星期几 Python

时间:2021-07-27 04:13:02

相关推荐

计算某年某月某日是星期几 Python

前提:公元1年1月1日是星期一

def date(y,m,d):ans = 0month = [31,29,31,30,31,30,31,31,30,31,30,31]if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0:month[1] = 29else:month[1] = 28for i in range(1,y): # 注意计算之前年的天数时要从1开始计算if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0:ans += 366# ans = ans % 7else:ans += 365# ans = ans % 7for i in range(m-1): # 这里因为月份是由数组表示的,从1月加到m-1月在数组中就是从下标0加到下标m-2ans += month[i]# ans = ans % 7ans += (d-1) # 这里的d-1,是因为天数的计算是基于公元1年1月1日来计算的,所以d要减去1return ans%7 # 最后这里对7取余也可以,如果计算的年数过多可以边加天数,边对7取余,就像注释掉的那些代码一样

或者基姆拉尔森公式

def date(y,m,d):if(m==1 || m==2): # 1月、2月 要当成去年的13月和14月,因此y要减一y -= 1, m += 12;return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。