自己写了一个关于农历的算法,无意中发现google也提供这样功能.<br/>
<a href=http://www.google.com/intl/zh-CN/features.html >Google 的特殊功能</a><br/>
试用了一下, 发现存在一个对生肖,年柱算法的错误.<br/>
以2007年为例,猪年是以公历2007年2月4日为界,这一天是立春.<br/>
24节气,每个节气以黄道15度为了一节.立春为黄道315度.也就每个生肖年的天数是差不多的.以春节为界那天算就不一样了.农历19年闰7个月,就有7年是要多一个月的.<br/>
<img src=http://www.dansion.com/blog/uploads/200705/20_190554_google_error.jpg /> <br/>
像google以春节为界,明显是错误,这种错误,看来也不是一时半会的事.好像每年的春节晚会也是这么宣传的.<br/>
如果真的拿四柱命理等算命的东西去说理,很明显,八字中的头两个字就错了.<br/>
<span style="color:#c00;">说得严重点,这可以拿人的命运开玩笑.<br/>
说得严肃点,这是对中国文化的不尊重.<br/></span>
<br/>
<br/>
<b>注:四柱就是八字,每年,每月,每日,以天干地支给合的形式表示,时间则以地支表示.<br/>
例:公历2007-5-20 19:24:00 丁亥年乙巳月甲寅日戌时<br/></b>
仁兄写的农历AS类果然强大,您的这个类在网络上广为流传,有幸我也看到了并使用了,在此非常感谢您!
接着就是我发现的问题:
1、八字没有出来,也就是时辰的天干还没有。
2、月柱应当跟着农历月分走。
八字里是缺少一个时柱。但月柱跟农历月份走,有待考量,相当于年柱是否以春节为界,还是以立春为界。
今天查阅了资料,月柱确实是跟着二十四节气走,仁兄是对的;然而在那个类中月柱“快了一天”,比如09年10月8日是寒露,从这天起月柱才由“癸酉”变成“甲戌”,但是那个类中10月7日就已经是“甲戌”月了。
瑕疵我找到了,原来只要把下面代码中的(d+1)改成d即可。
if ((d+1)>=firstNode) {
cM = cyclical((y-1900)*12+m+13);
}
八字我也全调出来了。在此再次感谢您。