《c语言项目案例分析》第一个万年历项目星期差模块如何计算
发表在C语言图书答疑 2013-08-13
是否精华
版块置顶:
if (year>2000)
   d=(year-1-2000)/4-(year-1-2000)/100+(year-1-2000)/400+1;
   else 
   d=(year-2000)/4-(year-2000)/100+(year-2000)/400;
   dy=(year-2000)+d;     /*** 该年 1月1号 到2000年1月1号的 " 星期差 " ***/

这段代码不理解,是如何计算的?
分享到:
精彩评论 1
cui_mrkj
学分:0 LV1
TA的每日心情
?
2020-08-20 13:57:19
2013-08-17
沙发
52周是364天
平年365天,闰年366天
以2000年1月1日星期六为基准点,分别向前向后数364天都是星期六。
一个整周期364正好回到星期六
但是一年是365或366天,向后多走一天是星期日,向前多一天是星期五,
向后多两天就是星期一,向前两天星期四。这个就是星期差。

(year-2000)/4-(year-2000)/100+(year-2000)/400   //判断闰年
闰年差2天 平年差1天
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照