今天星期几--蔡勒公式
来源:互联网 发布:网络机顶盒app软件排行 编辑:程序博客网 时间:2024/06/08 04:38
今天星期几?
这样的问提在程序中常常是和日期一起来计算了。
在没接触蔡勒公式的时候,要我做我也很费劲的先去计算一更有多少天,然后在mod7;
但是今天遇到一个了这个公式。我就来看一下。
这就是公式。
w就是我们要的周几了,c是世纪数-1(其实就是年份的前两位),y是年份的后两位,m是月份,d是天数
例如2014年5月8号 c=20 y =14 m=5 d=8;
看到这个东西是不是很喜欢啊,套上就出结果。别急,这个结果不是没天都对的,因为这里有两个特殊的月份需要处理,1月和2月,你会发现当你带入1月和2月的日子是结果不对,而其他月份的都对。因为我们要将1月当做上一年13月来处理(也就是月份改为13,年份减1),2月当做上一年的14月来处理(也就是月份改为13,年份减1)。
举个例子 2014年1月1日,因为月份是一月,我们要将其改为2013年13月1日,然后在带入公式计算。
2014年2月15日 我们要改为2013年14月15日来算。
其他大于2月的都不用处理直接计算。
好了 贴上代码:
#include<iostream>using namespace std;//蔡勒公式推算星期几int weekday(int y,int m,int d){if(m==1){m=13;y--;}if(m==2){m=14;y--;}int c = y/100;y=y%100;return ((c/4)-2*c+y/4+y+(13*(m+1)/5)+d-1)%7;}int main(){int y,m,d;while(cin>>y>>m>>d){int wd=weekday(y,m,d);if(wd<0)wd+=7;switch(wd){case 6:cout<<"星期六";break;case 0:cout<<"星期天";break;case 1:cout<<"星期一";break;case 2:cout<<"星期二";break;case 3:cout<<"星期三";break;case 4:cout<<"星期四";break;case 5:cout<<"星期五";break;}cout<<endl;}return 0;}
好了!
感谢自己坚持。
1 0
- 今天星期几--蔡勒公式
- 基姆拉尔森公式与蔡勒公式-求某天星期几
- 星期几问题——蔡勒公式
- 判断任意一天是星期几?。。蔡勒公式
- 根据年月日计算星期几 (蔡勒公式)
- 求某年某月某日为星期几(蔡勒公式)
- 快速计算某一天是星期几-蔡勒公式
- 计算某一日期是星期几的公式(蔡勒公式)
- 今天星期几了?
- Java--今天星期几?
- php 今天星期几
- 今天星期几js
- 计算今天星期几
- 今天星期几
- 今天是星期几?
- 今天星期几?
- 计算星期几的公式
- 计算星期几的公式
- select options 相关的js函数
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
- 软件设计之状态机
- SSL编译问题
- 用eclipse开发scala
- 今天星期几--蔡勒公式
- Matlab中处理XML文件
- SQL Server破坏日志备份链之后,可以通过全备,但是也可以通过差异备份来恢复日志链
- Intent的属性
- iOS 获取时间
- Java log4j的使用实例
- Spring MVC-文件上传下载
- phoneGap学习笔记——android+phoneGap环境搭建
- UDP套接字编程