怎样将真正农历计算源码(CCAL-2.4)转换成VB?
http://thunder.eeap.cwru.edu/ccal/ccal.htm
http://thunder.eeap.cwru.edu/ccal/ccal-2.4.tar.gz
ccal-24.zip (86 KB)
2008年1月21日即农历十二月21日是大寒。但我的VB计算是2008年1月20日即农历十
二月20日是大寒,到底哪个计算是正确的?可能VB计算有误,能否纠正一下?谢
谢。
Function GetiTermDay(ByVal CurUnYear As Integer, ByVal iTerm As Integer)
As Integer
Dim offDate As Double
Dim vTermInfo As Variant
Dim SolarTerm As Variant
'一个节气年的毫秒长度
Const sTermYearLen As Double = 31556925974.7
'求节气日期的定气常数(各个节气到小寒的分钟数)(如果能有人提供到秒的常
数就好了)
vTermInfo = Array(0, 21208, 42467, 63836, 85337, 107014, 128867,
150921, _
173149, 195551, 218072, 240693, 263343, 285989, 308563, 331033, _
353350, 375494, 397447, 419210, 440795, 462224, 483532, 504758)
'SolarTerm = Array("小寒", "大寒", "立春", _
"雨水", "惊蛰", "春分", _
"清明", "谷雨", "立夏", _
"小满", "芒种", "夏至", _
"小暑", "大暑", "立秋", _
"处暑", "白露", "秋分", _
"寒露", "霜降", "立冬", _
"小雪", "大雪", "冬至")
SolarTerm = Array(ChrW$(&H5C0F) & ChrW$(&H5BD2), ChrW$(&H5927) &
ChrW$(&H5BD2), ChrW$(&H7ACB) & ChrW$(&H6625), _
ChrW$(&H96E8) & ChrW$(&H6C34), ChrW$(&H60CA) &
ChrW$(&H86F0), ChrW$(&H6625) & ChrW$(&H5206), _
ChrW$(&H6E05) & ChrW$(&H660E), ChrW$(&H8C37) &
ChrW$(&H96E8), ChrW$(&H7ACB) & ChrW$(&H590F), _
ChrW$(&H5C0F) & ChrW$(&H6EE1), ChrW$(&H8292) &
ChrW$(&H79CD), ChrW$(&H590F) & ChrW$(&H81F3), _
ChrW$(&H5C0F) & ChrW$(&H6691), ChrW$(&H5927) &
ChrW$(&H6691), ChrW$(&H7ACB) & ChrW$(&H79CB), _
ChrW$(&H5904) & ChrW$(&H6691), ChrW$(&H767D) &
ChrW$(&H9732), ChrW$(&H79CB) & ChrW$(&H5206), _
ChrW$(&H5BD2) & ChrW$(&H9732), ChrW$(&H971C) &
ChrW$(&H964D), ChrW$(&H7ACB) & ChrW$(&H51AC), _
ChrW$(&H5C0F) & ChrW$(&H96EA), ChrW$(&H5927) &
ChrW$(&H96EA), ChrW$(&H51AC) & ChrW$(&H81F3))
'节气日的时差公式(时差为分钟)(从1900年大寒到现在这一节气的的分钟数)
offDate = (sTermYearLen * (CurUnYear - 1900)) / 60000 +
vTermInfo(iTerm - 1)
'以DateDiff求出日期
GetiTermDay = Day(DateAdd("n", offDate, CDate("1900-Jan-06
02:05:00")))
End Function
Private Sub Form_Load()
Debug.Print GetiTermDay(2008, 2)
'will return 20,so Da Han (大寒)is 2008-Jan-20.
End Sub
[解决办法]
。。。。。
[解决办法]
你问错地方了吧...
[解决办法]
vb的扔这儿干嘛~
[解决办法]
结贴走人吧...嘿嘿...
[解决办法]
http://site.baidu.com/list/wannianli.htm
这个应该是正确的
------解决方案--------------------
你既然找到权威的,那它应该是对的,如果你的代码计算出结果不一样,
那你地自己检查下哪里出的问题了,我不懂vb,帮不了你