計算年月日時的干支可用數學公式求出
05-30
1.天干地支代表數及其陰陽屬性 天干有十個,即:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。地支有十二個,即:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。為了便於計算,將天干、地支用數字代表。其相配表如下(表1): 表1 天干地支代表數及陰陽屬性表 (略)
推薦閱讀:
2 計算原理
天干起於甲而終於癸,計有十數,地支起於子而終於亥,計有十二數,天干、地支二者相配合形成了甲子、乙丑、丙寅、丁卯……在配合上陰與陰相配,陽與陽相配,這樣依據排列組合的方法,共有60種組合方法,即:1/2×C 101 ×C 121 =60。這種表示方法用以記錄時間,每記錄60個又循環回來,形成60環周,也就是每記錄60個又重複1次。由於天干有10個,故依照次序,記錄10個又循環1次,地支有12個,故依照次序,記錄12個又循環1次。 假如,天干從戊開始,每記錄10個後,又重新從戊開始。地支也一樣,假如,地支從辰開始,每記錄12個後,又重新從辰開始。 3 計算基礎 現在進入21世紀,為求其實用性,故以2001年的年干支、正月天干、元旦干支為基礎,以下所列公式都是先計算所求年與2001年所差的年數X,然後在此基礎上進行計算。所有基數都是2001年的年干支、正月天干、元旦干支的代表數,已知2001年的年干支為辛巳(其代表數分別為8、6),正月天干為庚(其代表數為7),元旦干支為甲子(其代表數分別為1、1)。4 年干支的計算方法
4.1 年天乾的計算方法 ① X÷10,求餘數。② 餘數+基數8,如和大於10減10,所得數即為當年天干代表數。 4.2 年地支的計算方法 ① X÷12,求餘數。② 餘數+基數6,如和大於12減12,所得數即為當年地支代表數。4.3 舉例
求2018年的干支:求天干:(2018-2001)÷10,餘數為7,餘數7+基數8,和大於10減10,所得數為5,即為戊的代表數。求地支:(2018-2001)÷12,餘數為5,餘數5+基數6,所得數為11,為戌的代表數。故2018年干支為戊戌。 5 月干支的計算方法 計算月干支以農曆計。月的地支不變,正月的地支是寅,2月的地支是卯,3月的地支是辰,4月的地支是巳,5月的地支是午,6月的地支是未,7月的地支是申,8月的地支是酉,9月的地支是戌,10月的地支是亥,11月的地支是子,12月的地支是丑。十二地支與12個月份相配表如下(表2): 表2 十二地支與12個月份相配表 (略) 正月的天干是隨著年的天干而變化的。在這些變化規律中,有一個計算公式。5.1 正月天干計算方法 ①X×12÷10,取餘數。②餘數+基數7,如和大於10時減10,所得數即為當年正月天干代表數。 5.2 所求月天干計算方法 ①當年正月天干代表數+所求月數-1,如得數大於10時減10,所得數即為所求月天干代表數。 5.3 舉例
求2018年8月的天干:先求2018年正月的天干:(2018-2001)×12÷10,餘4,加基數7,和大於10減10,得數為1,故2018年正月的干支為甲寅。則2018年8月的天干為:1+8-1=8,8為辛的代數。8月的地支為酉,故2018年8月的干支為辛酉。 再如2018年11月的天干為:1+11-1=11,和大於10減10,得數為1,1為甲的代表數,11月的地支為子,故2018年11月的干支為甲子。 6 元旦干支的計算方法計算 元旦干支時,除了求X外,同時,還要計算從2001年以後到當年的閏年次數Y。X÷4=Y+餘數。(注:逢百年不閏,逢四百年閏。) 6.1 求元旦天干方法
①(X×5+1)÷10,求餘數。②餘數+Y,如和大於10時減10,所得數即為所求元旦天干代表數。
6.2 求元旦地支方法 ①(X×5+1)÷12,求餘數。②餘數+Y,如和大於12時減12,所得數即為所求元旦地支代表數 6.3 舉例 求2018年的元旦干支:X=17,Y=4。代入求元旦天干公式:(17×5+1)÷10,餘數為6,6+4=10,10即為所求元旦天干代表數,10為癸的代表數。代入求元旦地支公式:(17×5+1)÷12,餘數為2,2+4=6,6即為所求元旦地支代表數,6為巳的代表數。那麼2018年的元旦干支為癸巳。 7 日干支的計算方法求出元旦干支,依照求日干支公式,並查各月干支應加基數(見表3),便可求出當日干支。
表3 各月干支應加基數表 (略) 7.1 求日天干方法 (當年元旦地支代表數+所求月應加的地支基數+所求日期)÷10,求餘數,餘數即為所求日天干代表數。 7.2 求日地支方法(當年元旦地支代表數+所求月應加的地支基數+所求日期)÷12,求餘數,餘數即為所求地支代表數。
7.3 舉例 求2018年3月6日(公曆)的干支。求日天干:(10+8+6)÷10,餘4,4為丁的代表數。求日地支:(6+10+6)÷12,餘10,10為酉的代表數。那麼,2018年3月6日的干支為丁酉。 8 .時干支的計算方法 8.1 時的地支計算方法時的地支不變,即23~1時為子時,1~3時為丑時,3~5時為寅時,5~7時為卯時,7~9時為辰時,9~11時為巳時,11~13時為午時,13~15時為未時,15~17時為申時,17~19時為酉時,19~21時為戌時,21~23時為亥時。十二地支與十二時辰相配表如下(表4):表4 十二地支與十二時辰相配表 (略)
8.2 時的天干計算方法 時的天干依日的天干而定,其計算方法如下: 8.2.1 子時的天干計算方法2×當日天干代表數-1,如得數大於10時減10,所得數即為當日子時天干代表數。 8.2.2 所求時的天干計算方法 子時的天干代表數+所求時的地支代表數-1,如得數大於10減10,所得數即為所求時的天干代表數。 8.2.3 舉例 求2018年3月6日10時的干支。已知10時的地支為巳,6為巳的代表數。先求2018年3月6日子時的天干:2×4-1=7,7為庚的代表數,故子時的干支為庚子。10時的天干:7+6-1=12,和大於10,所得數為2,為乙的代表數,故10時的干支為乙巳。 9 小結 天干最大代表數為10,故得數大於10時,減10,地支最大代表數為12,故得數大於12時,減12。所加基數都是以2001年的年干支、正月天干、元旦干支的代表數為基礎的,所以只要記住2001年的年干支、月干支、元旦干支的代表數,十二地支與十二月份相配表,十二地支與十二時辰相配表,各月干支應加基數表,便可根據公式,快速計算推薦閱讀:
※數學建模競賽的一些心得體會(關於每年的比賽)
※隨機演算法線性同餘法的理解
※The Classification of covering space
※Big Rudin閱讀記(Chpt 2)
※群、環的一些基本概念