回覆列表
  • 1 # 樊哲雄

    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日為星期三

  • 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得到的餘數為星期數。