使用python计算历史上任意一天是星期几?

小白第一步,使用python计算历史上任意一天是星期几?

计算机时间自1970.1.1 00:00:00时起,使用手机查询历史上甚至公元前的某个重要日子便有些不便。根据历法原理,小编的自学练习想与大家分享,也作为一个学习日记使用,望大家不喜勿喷!
计算公式:
S=x-1+[(x-1)/4]-[(x-1)/100]+[(x-1)/400]+C
R=S/7
x为公元年数;
C为本年元旦到这一天的日数(要包含这一天);
#分数计算只去整数部分(使用整数除法基本运算符 // );
#R为S除以7的余数,余几及周几,刚好能除尽,及为周日;(使用区余基本运算符 % )
以下即为相应代码部分:

#输入日期
print('输入日期****年**月**日,公元前年份以负数输入')
x=int(input('某年',))#输入*年
y=int(input('某月',))#输入*月
z=int(input('某日',))#输入*日
#判断输入年份是否为闰年,2月以28天计算
x1=x%4
if x1 == 0:
    s=1
else:
    s=0
#计算第n月结束时天数
if y==1:
    C=z
elif y ==2:
    C=(y-1)*30+1+z
elif y ==3:
    C=(y-1)*30-1+z+s
elif y ==5 or 6:
    C=(y-1)*30+0+z+s
elif y ==6 or 7:
    C=(y-1)*30+1+z+s
elif y ==8:
    C=(y-1)*30+2+z+s
elif y ==9 or 10:
    C=(y-1)*30+3+z+s
elif y ==11 or 12:
    C=(y-1)*30+4+z+s
# 星期计算公式 S=x-1+((x-1)//4)-((x-1)//100)+((x-1)//400)+C
n=x-1
S=n+(n//4)-(n//100)+(n//400)+C
#输出结果设置
a="{}年{}月{}日"
print(a.format(x,y,z))
print('本年度第',C,'天')
m=S%7
if m ==1:
    print("星期一")
if m ==2:
    print("星期二")
if m ==3:
    print("星期三")
if m ==4:
    print("星期四")
if m ==5:
    print("星期五")
if m ==6:
    print("星期六")
if m ==0:
    print("星期日")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值