只需要知道三個程式碼日期程式碼+月份程式碼+年份程式碼就可以秒算任意年份任意日期的星期數方法1、日期程式碼指的是日期數,如3月18號,日期程式碼為18。4月7號,日期程式碼為7。2、月份程式碼(需要小小記憶)五月 是 0八月 是 1二月 三月 十一月 是 2六月 是 3九月 十二月 是4四月 七月 是5一月 十月 是 6如果遇到閏年 則二月程式碼變為1,一月程式碼變為5,其它不變。即,非閏年的月份程式碼為622503 514624,閏年的月份程式碼為512503 514624。3、年份程式碼舉個例子 2010年的程式碼,我們用尾數10除以4(忽略餘數)再加上10得到數字12,再用12除以7,得到的餘數5就是2010年的程式碼。也就是說,心算出2000到2099任意年份的程式碼,只需將其後兩位數X除以4(忽略餘數),然後與X相加,併除以7就可以了,得到的餘數就是其年份程式碼。10年的年份程式碼是5,11年年份程式碼為6。4、秒算任意日期的星期數如,我們算一下2010年4月25日日期程式碼25月份程式碼5年份程式碼5日期程式碼+月份程式碼+年份程式碼=25+5+5=3535是7的倍數,所以2010年4月25日是星期日再比如算一下2010年10月1日日期程式碼1月份程式碼6年份程式碼5日期程式碼+月份程式碼+年份程式碼=1+6+5=1212除以7餘5,所以2010年10月1日是星期五如果得到的程式碼和是小於7的數,那麼此數直接是星期數如果得到的程式碼和是大於7的數,那麼將該數除以7得到的餘數為星期數。方法二原理:蔡勒公式1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]為取整符號)2、其中,W是所求日期的星期數.如果求得的數大於7,可以減去7的倍數,直到餘數小於7為止.c是公元年份的前兩位數字,y是已知公元年份的後兩位數字;m是月數,d是日數.方括[ ]表示只擷取該數的整數部分。3、還有一個特別要注意的地方:所求的月份如果是1月或2月,則應視為前一年的13月或14月.所以公式中m 的取值範圍不是1-12,而是3-14.
只需要知道三個程式碼日期程式碼+月份程式碼+年份程式碼就可以秒算任意年份任意日期的星期數方法1、日期程式碼指的是日期數,如3月18號,日期程式碼為18。4月7號,日期程式碼為7。2、月份程式碼(需要小小記憶)五月 是 0八月 是 1二月 三月 十一月 是 2六月 是 3九月 十二月 是4四月 七月 是5一月 十月 是 6如果遇到閏年 則二月程式碼變為1,一月程式碼變為5,其它不變。即,非閏年的月份程式碼為622503 514624,閏年的月份程式碼為512503 514624。3、年份程式碼舉個例子 2010年的程式碼,我們用尾數10除以4(忽略餘數)再加上10得到數字12,再用12除以7,得到的餘數5就是2010年的程式碼。也就是說,心算出2000到2099任意年份的程式碼,只需將其後兩位數X除以4(忽略餘數),然後與X相加,併除以7就可以了,得到的餘數就是其年份程式碼。10年的年份程式碼是5,11年年份程式碼為6。4、秒算任意日期的星期數如,我們算一下2010年4月25日日期程式碼25月份程式碼5年份程式碼5日期程式碼+月份程式碼+年份程式碼=25+5+5=3535是7的倍數,所以2010年4月25日是星期日再比如算一下2010年10月1日日期程式碼1月份程式碼6年份程式碼5日期程式碼+月份程式碼+年份程式碼=1+6+5=1212除以7餘5,所以2010年10月1日是星期五如果得到的程式碼和是小於7的數,那麼此數直接是星期數如果得到的程式碼和是大於7的數,那麼將該數除以7得到的餘數為星期數。方法二原理:蔡勒公式1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]為取整符號)2、其中,W是所求日期的星期數.如果求得的數大於7,可以減去7的倍數,直到餘數小於7為止.c是公元年份的前兩位數字,y是已知公元年份的後兩位數字;m是月數,d是日數.方括[ ]表示只擷取該數的整數部分。3、還有一個特別要注意的地方:所求的月份如果是1月或2月,則應視為前一年的13月或14月.所以公式中m 的取值範圍不是1-12,而是3-14.