Day of Week很好记录一下

算法中引用的是由Tomohiko Sakamoto 提供的简洁函数代码
代码如下:
整体思路如下将一年看成364天(可以被7整除)
其中如果将2月看成27天
//31 27 31 30 31 30 31 31 30 31 30 31
//3 6 3 2 3 2 3 3 2 3 2 3 月天数mod7
//3 9 12 14 17 19 22 25 27 30 32 35月数的累加和
//0 3 2 5 0 3 5 1 4 6 2 4 月数-1的累加和mod7得到数组
如1年2月某日
1月有31天被7除余3 多出的3天加到2月的天数里
最后对7取余
y/4 - y/100 + y/400 //算出到y年12月31日为止的闰年多出29号天数的个数
y +y/4 - y/100 + y/400//上市加上y年12月31日为止每年少算一天的个数
当x年y月z日时
如果月数小于2月 则应当计算y-1年多出的天数
即y -= m < 3;
y +y/4 - y/100 + y/400 + t[m-1] + d/加上1到m-1月多出天数对7取余再加上当月的天数/
最后对7求余的出星期。
1年1月1日为星期一

intdayofweek(inty,intm,intd)/* 0 = Sunday */
{
staticintt[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
y -= m < 3;
return(y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,595评论 1 19
  • 一、实验目的 学习使用 weka 中的常用分类器,完成数据分类任务。 二、实验内容 了解 weka 中 explo...
    yigoh阅读 12,770评论 5 4
  • 秋天,自古以来就是一个悲凉的秋天,以往的文人墨客,也都是这样来评说秋天的!在这样的秋天,在这样的古城西安,在这样的...
    沫沫_9477阅读 2,828评论 1 5
  • 自从我换上了双休的工作,很经常听到这类似的两句话“这个星期又过去XX天了”“这个月又只剩XX天了”。是的,一切都因...
    爱咬笔的西瓜头阅读 1,405评论 2 0
  • 曾经,我有点儿抱怨上帝,他在创造我的时候太过心不在焉,什么都没有多给我一点。今天早上,望着窗外在寒风中瑟瑟的树叶...
    走路的卷子阅读 1,049评论 0 0

友情链接更多精彩内容