-
1 # 樊哲雄
-
2 # 一縷清風AH
要計算某一天之後是星期幾,需要先確定某一天是星期幾,然後根據天數進行推算。
假設某一天是星期一,要計算8天后是星期幾,可以按照以下公式計算:(1 + 8) mod 7,其中1表示星期一,8表示8天,mod 7表示取餘運算,即將結果除以7並取餘數。計算結果為2,因為8天后是星期二。
如果某一天不是星期一,也可以按照這個方法計算,只需要將1替換為對應的星期數即可。
-
3 # 不做小仙女
只需要知道三個代碼
日期代碼+月份代碼+年份代碼
就可以秒算任意年份任意日期的星期數
具體方法:
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=35
35是7的倍數,所以2010年4月25日是星期日
再比如算一下2010年10月1日
日期代碼1
月份代碼6
年份代碼5
日期代碼+月份代碼+年份代碼=1+6+5=12
12除以7餘5,所以2010年10月1日是星期五
如果得到的代碼和是小於7的數,那麼此數直接是星期數
如果得到的代碼和是大於7的數,那麼將該數除以7得到的餘數為星期數。
回覆列表
1.由於一週的天數為7,而平年的天數為365,我們利用365除以7餘數為1的這一特徵,只要知道某年的某天是星期幾,便可以推算出其它年份對應同一天是星期幾。比如2001年1月1日是星期一,那麼2002年的1月1日,就是2001年首日的星期數加1,即為星期二2003年首日為星期三,2004年首日為星期四。而2004年為閏年,那麼在推算2005年首日的時候,需要在2004年首日星期數的基礎上加2,即為星期六。這裡要注意的是,如果要計算的天數是在閏年的2月份之前,那麼就不需要在星期幾的基礎上再額外加1,而如果在閏年的2月份之後,則需要額外加上1。
2.如果推算不同日的星期數,利用上面的方法,可以首先將已知年份某天的星期數推算至目標年的同一天,然後再利用目標天與該天的天數差,進行第二步的運算。比如2019年的5月1日為星期三