close
心算星期幾 -- 王氏口訣 

**作者:本口訣及公式由 (筆名)王駿( Mike Wang )設計提供。
**部落格:https://tools241.pixnet.net/blog

歡迎免費轉載或做為教材,
歡迎會華語有興趣的人都來練習。

1.本公式適用於 "1900/03/01- 2100/02/28" ,
   此期間4年一潤(2月有29天), 相隔28年的同一天其 "星期幾" 也會相同,
   因此可以將年份往前或往後移動28年的倍數以方便計算,
   為方便計算,請選擇合適的值代入。
   Y= 西元年份-2008+28的倍數,
   如果月份為 "1月或2月", 則Y還要再減去一年. 口訣中以 "(去年)" 提醒。

2.十二個月的 "M月對照值" 口訣( 請記起來隨時可用 ):
       "(去年)1上(榜);(去年)2留(級);扇舞試衣舞扇;六六(大順);去移巴士;
           久鄰邀您兒,邀邀我,邀兒您(去聽演唱會)"。

 
   M01月=3 ==> " 1,3" 記成 "(去年)1上(榜);" ;
   M02月=6 ==> " 2,6" 記成 "(去年)2留(級);" ;
   M03月=5 ==> " 3,5" 記成 "扇舞";
   M04月=1 ==> " 4,1" 記成 "試衣";
   M05月=3 ==> " 5,3" 記成 "舞扇";
   M06月=6 ==> " 6,6" 記成 "六六(大順)";
   M07月=1 ==> " 7,1" 記成 "去移";
   M08月=4 ==> " 8,4" 記成 "巴士;";
   M09月=0 ==> " 9,0" 記成  "久鄰(很久的鄰居)";
   M10月=2 ==> "10,2" 記成 "邀您兒,";
   M11月=5 ==> "11,5" 記成 "邀邀我,";
   M12月=0 ==> "12,0" 記成 "邀兒您(去聽演唱會)"。

3.公式: 星期幾Week = (Y+ [Y/4]取整數 + M月對照值 + D日 )   除以 7 的餘數.

   因  (西元年份-2008)=(西元年份-2020+12)

    (西元年份-2020+12)除以 7 的餘數=(西元年份-2020+5)除以 7 的餘數.

  [ (西元年份-2020+12)/4]除以 7 的餘數=[(西元年份-2020)/4]+3除以 7 的餘數.

如果改用2020為起點則公式二:

星期幾Week = (Y+ [Y/4]取整數 + 1 + M月對照值 + D日 )   除以 7 的餘數.
  

例: 1900/09/08(光緒26年的9月8日) 中秋是星期六
         Y= 1900+(28 x 4 - 2008) = 1900 + 112 - 2008 = 2012 - 2008 = 4,
         w = ( 4 + [4/4] + (M在九月的對照值)0 + 8日 ) = 13
         week = 13 % 7 = 6 (星期六)
       

   例: 2010/01/01 是星期幾?       
         Y = 2010+(28 x 0 - 2008) -1(如果月份為1月或2月則Y要再減一年)
            = 2010-2008              -1 = 1
         w = ( 1 + [1/4]) + 3 + 1 =  1 + 0 + (M在一月的對照值)3 + 1 = 5
         week = 5 % 7 = 5 (星期五)

   例: 2010/02/13 除夕是星期幾?
         Y = 2010 - 2008 -1(如果月份為1月或2月則Y要再減一年) = 1
         w = ( 1 + [1/4]) + 6 + 13 =  1 + 0 + (M在二月的對照值)6 + 13 = 20
         week = 20 % 7 = 6 (星期六)
   例: 2010/09/22 中秋是星期幾?
         Y = 2010 - 2008 = 2
         w = ( 2 + [2/4]) + 0 + 22 =  2 + 0 + (M在九月的對照值)0 + 22 = 24
         week = 24 % 7 = 3 (星期三)

   例: 2011/01/01 是星期幾?
         Y = 2011+(28x0-2008) -1(如果月份為1月或2月則Y要再減一年)
            = 2011-2008           -1 = 2
         w = ( 2 + [2/4]) + 3 + 1 =  2 + 0 + 3 + 1 = 6
         week = 6 % 7 = 6 (星期六)

   例: 2023/09/29 中秋是星期幾?
         Y = 2023-2008 = 15
         w = ( 15+ [15/4]) + 0 + 29 == > 1 + 3 + 0 + 1 = 5
         week = 5 % 7 = 5 (星期五)

公式二: Y=2023-2020=3

W = 3+[3/4]+1 +0  +29 ==> 4+0+1 = 5

   例: 2024/02/09 除夕是星期幾?
          Y = 2024-1-2008(如果月份為1月或2月則Y要再減一年) = 15
         w = ( 15 + [15/4]) + 6 + 9 ==>  1 + 3 + 6 + 2 = 12
         week = 12 % 7 = 5 (星期五)

公式二: Y=2024-1-2020=3

  w =3+[3/4]+1 +6  +9 ==> 4+6+2 = 12

         week = 12 % 7 = 5 (星期五)

註:可先將當年3月至次年2月的Y背起來, 例如2022/03至2023/02的Y=3,

    2023/03至2024/02的Y=4, 2024/03至2025/02的Y=6

             自2200起依序為1,2,3,4, 6,0,1,2, 4,5,6,0,...

  

 
** 高斯符號:數學王子 "高斯(C. Gauss 1777-1855)" 提出 "[取整數]" 的符號,
                          例 [5.03] = 5 ;若為負數則小數以下直接進位, 例  [-5.03] = -6。

** 潤年口訣:"四年一潤,百年不潤,四百年再潤"。
     因為地球環繞太陽一週約為 "365.2422天",
     四年一潤(例2004,2008,2012,2016);百年不潤(例1800,1900,2100,2200,
     2300,2500);四百年再潤(例1600,2000,2400)。 影響星期幾的變動值 :
     365天 x 西元年份 + [西元/4]  -  [西元/100] +  [西元/400]。

**  因1900年不是潤年, 所以公式若要使用於1800/03/01至1900/02/28時 , 星期
     幾還要右調1天;若使用於2100/03/01至2200/02/28時,星期幾還要左調1天。

** 有興趣者或程式設計者請參考:在公元4年3月1日以前的潤年是不規則的,
     後來為修正累積的誤差,將早期儒略曆(Julian calendar)1582年10月4日的隔
     天訂為現行的公曆曆法格里曆(Gregorian calendar)1582年10月15日;因
     為英國是晚在1752年9月才改用公曆,而此時誤差已達11天,因此由美國
     人設計的 Unix 系統中若執行 "cal  9  1752"   可查到1752年的9月份是做過修
     正的,中間缺少了 11 天。1752/9/2 是星期三,隔天就是1752/9/14 星期四。
     例: 1752/09/14  是星期幾?
         Y = 1752 +(28 x 10 - 2008) = 24
         w = ( 24+ [24/4]) +(M在九月的對照值)0 + 14 =  24 + 6 + 0 + 14 = 44
         week = 44 % 7 = 2 => 因1800年及1900年不是潤年,向右調2天為星期四。


______________________________________________________
備註:您可以 "免費" 轉載上列的內容,
      如果不是g-o-v-e-r-n-m-e-n-t單位或紙本刊物或教材,
      請包含:作者筆名,"歡迎免費轉載" 字樣,部落格網址。
______________________________________________________

 

以下僅供參考:

*    各國施行公曆的日期:

        1582/10/15  (義大利,西班牙,葡萄牙...)
        1582/12/20  (法國)
        1700/03/01  (丹麥,挪威)
        1752/09/14  (英國,美國)
        1918/02/14  (俄國)
        1923/03/01  (希臘)

 

arrow
arrow

    tools241 發表在 痞客邦 留言(0) 人氣()