c/c++ 实现 calendar
需求 c/cpp 在一些嵌入式应用中,需要自己来实现对输入日期的校验和星期几的计算。 解决 日期校验还好说,主要是闰年的判断。 星期几的计算就比较麻烦了,一般是使用蔡勒公式。 蔡勒公式 1582年10月4日之后 w = (d + 1 + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7 1582年10月4日或之前 w = (d + 1 + 2 * m + 3 * (m + 1) / 5 + y + y / 4 + 5) % 7 解释: w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 c:世纪(注:一般情况下,在公式中取值为已经过的世纪数,也就是年份除以一百的结果,而非正在进行的世纪,也就是现在常用的年份除以一百加一;不过如果年份是公元前的年份且非整百数的话,c应该等于所在世纪的编号,如公元前253年,是公元前3世纪,c就等于-3) y:年(一般情况下是后两位数,如果是公元前的年份且非整百数,y应该等于 cMOD100+100) m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算) d:日 示例 [ ]代表取整,即只要整数部分。...