资源描述:
《公历日期与干支纪日的对应关系.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、公历日期与干支纪日的对应关系'VBScript代码(把以下内容复制到记事本,以vbs为扩展名保存,在“我的电脑”或“资源管理器”中双击文件,可以在没有安装VisualBasic的计算机上运行。)d=InputBox("请输入日期(公历)"+vbCrLf+_ "年月之间,月日之间用减号(连字符-)或正斜杠/隔开,"+_ "如果计算今天的干支,直接按回车键或单击确定",,Date)n=DateDiff("d","100-1-1",d)SelectCasenMod10+1Case1:g="戊"Case2:g="己"Case3:g="庚"Case4:g="辛"Case5:g="壬"Case6:
2、g="癸"Case7:g="甲"Case8:g="乙"Case9:g="丙"Case10:g="丁"EndSelectSelectCasenMod12+1Case1:z="午"Case2:z="未"Case3:z="申"Case4:z="酉"Case5:z="戌"Case6:z="亥"Case7:z="子"Case8:z="丑"Case9:z="寅"Case10:z="卯"Case11:z="辰"Case12:z="巳"EndSelectMsgBox"公历"&Year(d)&"年"&Month(d)&"月"&Day(d)&"日"&"是"&g&z&"日",64'如果安装了VisualBasi
3、c6.0可以使用下面的更短的代码:PrivateSubForm_Click()d=InputBox("请输入日期(公历)"+vbCrLf+"年月之间,月日之间用减号(连字符-)或正斜杠/隔开,"_ +"如果计算今天的干支,直接按回车键或单击确定",,Date)n=DateDiff("d","100-1-1",d)g=Choose(nMod10+1,"戊","己","庚","辛","壬","癸","甲","乙","丙","丁")z=Choose(nMod12+1,"午","未","申","酉","戌","亥","子","丑","寅","卯","辰","巳")'Print"
4、公历";Format(d,"dddddd");"是";g;z;"日"EndSub速查干支纪日法速查干支纪日法从已知日期计算干支纪日的公式为:G=4C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d-3Z=8C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d+7+i其中C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月按上一年的13月和14月来算。奇数月i=0,偶数月i=6。G除以10的余数是天干,Z除以12的余数是地支。计算时带[]的数表示取整。例如:查2006年4月1日的干支日。将数值代入计算公式。G=4*20+[20/4]+5*06+[06/4]+[3*
5、(4+1)/5]+1-3=197除以10余数为7,天干的第7位是‘庚’。Z=8*20+[20/4]+5*06+[06/4]+[3*(4+1)/5]+1+7+6=213除以12余数为9,地支的第9位是‘申’。答案是:2006年4月1日的干支日是庚申日。速查干支纪日法从已知日期计算干支纪日的公式为:G=4C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d-3Z=8C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d+7+i其中C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月按上一年的13月和14月来算。奇数月i=0,偶数月i=6。G除以10的余数是天干,Z除以1
6、2的余数是地支。计算时带[]的数表示取整。例如:查2006年4月1日的干支日。将数值代入计算公式。G=4*20+[20/4]+5*06+[06/4]+[3*(4+1)/5]+1-3=197除以10余数为7,天干的第7位是‘庚’。Z=8*20+[20/4]+5*06+[06/4]+[3*(4+1)/5]+1+7+6=213除以12余数为9,地支的第9位是‘申’。答案是:2006年4月1日的干支日是庚申日。