找回密碼
 注册
搜索
熱搜: 活动 交友 discuz
查看: 5698|回復: 0

求日柱的公式

[複製鏈接]
發表於 2006-5-4 19:25:19 | 顯示全部樓層 |閱讀模式
公式:(年-1924)*5+(年-1924+3.99)/4+15+日数

举例:求1982年10月3日的干支,
(1982-1924)*5+(1982-1924+3.99)/4+15+31+28+31+30+31+30+31+31+30+3=596.499
----------------------------------------------1982年1月2月3月4月5月6月7月8月9月10月
596.499只取到个位数,即取596除以60余56,甲子为1,数到56是已未,所以1982年10月3日的干支为已未。
1。结果没有四舍五入,只取到个位数。比如得549.99,也只取549。而不取约等550。
2。用阳历摧算。
好用的就支持一下。
發表於 2006-5-5 13:35:06 | 顯示全部樓層
公式很好用。但 3.99 可直接改為 3。
另外,第一項中的 1924 可簡化成 1900 使減數更容易些。公式變成:

(年-1900) * 5 + (年-1900+3) / 4 + 9 + 當年年初起累積日數

答案取整數,再除 60 取餘數。

例如:2006年5月5日

(2006-1900)*5 + (2006-1900+3)/4 + 9 + (31+28+31+30+5)
= 106*5 + 109/4 + 9 + 125
= 530 + 27.25 + 9 + 125
= 691.25
整數 = 691
除 60 取餘數 = 31
31 除 10 取餘數 = 1 ... 天干是甲
31 除 12 取餘數 = 7 ... 地支是午
回復

使用道具 舉報

發表於 2006-5-7 19:38:18 | 顯示全部樓層
多謝分享,但有冇再簡單d計算方法呀.謝謝
回復

使用道具 舉報

發表於 2006-5-28 16:40:29 | 顯示全部樓層
學習啦!!
回復

使用道具 舉報

發表於 2006-8-14 22:13:14 | 顯示全部樓層
原帖由 命理小子 於 2006-5-7 07:38 PM 發表
多謝分享,但有冇再簡單d計算方法呀.謝謝


我看用萬年曆更快, 時代不同了, 不要花時間去記公式
回復

使用道具 舉報

發表於 2006-9-26 11:08:13 | 顯示全部樓層

多谢了

不错的公式啊
回復

使用道具 舉報

發表於 2006-9-28 14:41:21 | 顯示全部樓層
兩位精心提供的公式各有巧妙。謝謝分享。
回復

使用道具 舉報

發表於 2007-2-20 14:51:29 | 顯示全部樓層
原帖由 yuwenyuqiu 於 2006-8-14 10:13 PM 發表。


我看用萬年曆更快, 時代不同了, 不要花時間去記公式


不行 ,有时万年历上的日期也会计算错误的。不如有个公式来计算一下自己出生的日子,不然八字可是不准的。
回復

使用道具 舉報

發表於 2007-2-21 15:40:06 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

發表於 2007-11-12 23:10:23 | 顯示全部樓層
謝謝分享。
回復

使用道具 舉報

發表於 2007-11-22 21:11:16 | 顯示全部樓層
謝謝您的無私,祝福您
回復

使用道具 舉報

發表於 2008-1-5 18:01:52 | 顯示全部樓層
公式都有其適用範圍這個公式在1900年以前()2101年以後(),必須經過修正才會正確。比如1900年的元旦,查萬年曆是甲戌日,干支序數11。代入公式得 (1900-1900) * 5 + (1900-1900+3)/ 4 + 9 +1 =0+0+9+1=10 (取高斯整數) 為癸酉日,少了一天。2101年後的問題則是因為沒有考慮到閏年的微調。陽曆4年一閏,但逢百年不閏,400的倍數又閏。2100年不是閏年,所以2101年以後原公式至少多算一天,理由後述。
曆法首重曆元。1900年元旦就是這個公式的「曆元」(起點),假設西元年為Y、年初累積日數為D、閏年修正量為C,則干支序數可表為 F(Y,D,C) = (Y-1900)*5 + [(Y-1900-1)/4] + (D-1) + 11 + C
第一項為平年成份造成的元旦干支序數推移。平年有365天,365/60甲子餘5,所以每過一年,元旦的干支序數都會加5。(Y-1900)代表年距,年距乘以5就是干支序數的總增量。
第二項為閏年成份造成的額外增量。每四年一閏,1900年逢百不閏,離1900年最近的閏年是1904,可我們考慮的是元旦,1904年的元旦還未過閏月,因此不會造成干支序數的增加。 [年距/4]= [(1904-1900)/4]=[4/4]=1不對。綜此必須改採 [(年距-1)/4] 才能解決 (用窮舉法可歸納此趨勢),也就是[(Y-1900-1)/4],這代表從1900年元旦到Y年元旦的閏年或閏月總數(未修正)。
第三項 (D-1) 為求算日到當年元旦的日距,代表干支序數的日增量。算D時須注意該年是否為閏年,閏年的二月有29天。
第四項 11 為曆元的干支序數初始值,當其他各項皆為零時的函數值,也就是1900年1月1日的干支序數。
最後一項閏年修正量C,可以推算: 從1900年到 Y年,每過一個百年就減一,經過一個400的倍數年就再加一回來。
整理一下 :
F(Y,D,C) =(Y-1900)*5 + [(Y-1900-1)/4] + (D -1) + 11 + C
        = (Y-1900)*5 + [(Y-1900-1)/4] + 10 + D+ C
        = (Y-1900)*5 +[(Y-1900+3)/4] + 9 + D + C
最後一個式子就是2F樓主的公式。
知道這個原理,任何年都可以當曆元,任何人都可以有自己的公式。

曆史年代學及天文學上是以儒略週日(Julian Day簡寫JD)來計算干支和星期。曆元是西元前4713年1月1日儒略曆法的正午時。從那時刻開始JD恆不為負值,可用公式為:
干支序數 = (JD-10)/60 或(JD+50)/60之餘數 ; 星期數= (JD+1)/7之餘數。   
至於從現代陽曆換算JD,有些演算法可用,例如WiKi 百科;  本版其它貼文亦有述及。Jean  Meeus's  Astronomical  Algorithms  chpater 7 專論 JD.  Linux based 的計算器亦有現成公用程式可求JD.(換言之, 將來如果人手一隻google phone, 不用再記公式了)


順便一提,  JD 只是個"流日"編號, 與儒略曆或現代陽曆無直接關係.

江曉原教授的Blog有專文說此  (儒略曆還是格里曆?  --再談關於歷史事件日期的推算與表達)
http://blog.sina.com.cn/s/blog_485f2bc8010009wm.html


回復

使用道具 舉報

發表於 2008-2-17 13:55:59 | 顯示全部樓層
goood!!鼠年祝大家發財!!!!
回復

使用道具 舉報

發表於 2008-6-5 18:53:51 | 顯示全部樓層
  


回復

使用道具 舉報

發表於 2008-8-29 09:21:44 | 顯示全部樓層
回復

使用道具 舉報

手機版|小黑屋|術數縱橫

GMT+8, 2026-8-11 03:35 AM , Processed in 0.022740 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表