本文共 10347 字,大约阅读时间需要 34 分钟。
显示农历的VBS代码:
< script language = vbscript > Function nl() ' 获取当前系统时间 curTime = Now () Dim WeekName( 7 ), MonthAdd( 11 ), NongliData( 99 ), TianGan( 9 ), DiZhi( 11 ), ShuXiang( 11 ), DayName( 30 ), MonName( 12 ) ' 星期名 WeekName( 0 ) = " * " WeekName( 1 ) = " 星期日 " WeekName( 2 ) = " 星期一 " WeekName( 3 ) = " 星期二 " WeekName( 4 ) = " 星期三 " WeekName( 5 ) = " 星期四 " WeekName( 6 ) = " 星期五 " WeekName( 7 ) = " 星期六 " ' 天干名称 TianGan( 0 ) = " 甲 " TianGan( 1 ) = " 乙 " TianGan( 2 ) = " 丙 " TianGan( 3 ) = " 丁 " TianGan( 4 ) = " 戊 " TianGan( 5 ) = " 己 " TianGan( 6 ) = " 庚 " TianGan( 7 ) = " 辛 " TianGan( 8 ) = " 壬 " TianGan( 9 ) = " 癸 " ' 地支名称 DiZhi( 0 ) = " 子 " DiZhi( 1 ) = " 丑 " DiZhi( 2 ) = " 寅 " DiZhi( 3 ) = " 卯 " DiZhi( 4 ) = " 辰 " DiZhi( 5 ) = " 巳 " DiZhi( 6 ) = " 午 " DiZhi( 7 ) = " 未 " DiZhi( 8 ) = " 申 " DiZhi( 9 ) = " 酉 " DiZhi( 10 ) = " 戌 " DiZhi( 11 ) = " 亥 " ' 属相名称 ShuXiang( 0 ) = " 鼠 " ShuXiang( 1 ) = " 牛 " ShuXiang( 2 ) = " 虎 " ShuXiang( 3 ) = " 兔 " ShuXiang( 4 ) = " 龙 " ShuXiang( 5 ) = " 蛇 " ShuXiang( 6 ) = " 马 " ShuXiang( 7 ) = " 羊 " ShuXiang( 8 ) = " 猴 " ShuXiang( 9 ) = " 鸡 " ShuXiang( 10 ) = " 狗 " ShuXiang( 11 ) = " 猪 " ' 农历日期名 DayName( 0 ) = " * " DayName( 1 ) = " 初一 " DayName( 2 ) = " 初二 " DayName( 3 ) = " 初三 " DayName( 4 ) = " 初四 " DayName( 5 ) = " 初五 " DayName( 6 ) = " 初六 " DayName( 7 ) = " 初七 " DayName( 8 ) = " 初八 " DayName( 9 ) = " 初九 " DayName( 10 ) = " 初十 " DayName( 11 ) = " 十一 " DayName( 12 ) = " 十二 " DayName( 13 ) = " 十三 " DayName( 14 ) = " 十四 " DayName( 15 ) = " 十五 " DayName( 16 ) = " 十六 " DayName( 17 ) = " 十七 " DayName( 18 ) = " 十八 " DayName( 19 ) = " 十九 " DayName( 20 ) = " 二十 " DayName( 21 ) = " 廿一 " DayName( 22 ) = " 廿二 " DayName( 23 ) = " 廿三 " DayName( 24 ) = " 廿四 " DayName( 25 ) = " 廿五 " DayName( 26 ) = " 廿六 " DayName( 27 ) = " 廿七 " DayName( 28 ) = " 廿八 " DayName( 29 ) = " 廿九 " DayName( 30 ) = " 三十 " ' 农历月份名 MonName( 0 ) = " * " MonName( 1 ) = " 正 " MonName( 2 ) = " 二 " MonName( 3 ) = " 三 " MonName( 4 ) = " 四 " MonName( 5 ) = " 五 " MonName( 6 ) = " 六 " MonName( 7 ) = " 七 " MonName( 8 ) = " 八 " MonName( 9 ) = " 九 " MonName( 10 ) = " 十 " MonName( 11 ) = " 十一 " MonName( 12 ) = " 腊 " ' 公历每月前面的天数 MonthAdd( 0 ) = 0 MonthAdd( 1 ) = 31 MonthAdd( 2 ) = 59 MonthAdd( 3 ) = 90 MonthAdd( 4 ) = 120 MonthAdd( 5 ) = 151 MonthAdd( 6 ) = 181 MonthAdd( 7 ) = 212 MonthAdd( 8 ) = 243 MonthAdd( 9 ) = 273 MonthAdd( 10 ) = 304 MonthAdd( 11 ) = 334 ' 农历数据 NongliData( 0 ) = 2635 NongliData( 1 ) = 333387 NongliData( 2 ) = 1701 NongliData( 3 ) = 1748 NongliData( 4 ) = 267701 NongliData( 5 ) = 694 NongliData( 6 ) = 2391 NongliData( 7 ) = 133423 NongliData( 8 ) = 1175 NongliData( 9 ) = 396438 NongliData( 10 ) = 3402 NongliData( 11 ) = 3749 NongliData( 12 ) = 331177 NongliData( 13 ) = 1453 NongliData( 14 ) = 694 NongliData( 15 ) = 201326 NongliData( 16 ) = 2350 NongliData( 17 ) = 465197 NongliData( 18 ) = 3221 NongliData( 19 ) = 3402 NongliData( 20 ) = 400202 NongliData( 21 ) = 2901 NongliData( 22 ) = 1386 NongliData( 23 ) = 267611 NongliData( 24 ) = 605 NongliData( 25 ) = 2349 NongliData( 26 ) = 137515 NongliData( 27 ) = 2709 NongliData( 28 ) = 464533 NongliData( 29 ) = 1738 NongliData( 30 ) = 2901 NongliData( 31 ) = 330421 NongliData( 32 ) = 1242 NongliData( 33 ) = 2651 NongliData( 34 ) = 199255 NongliData( 35 ) = 1323 NongliData( 36 ) = 529706 NongliData( 37 ) = 3733 NongliData( 38 ) = 1706 NongliData( 39 ) = 398762 NongliData( 40 ) = 2741 NongliData( 41 ) = 1206 NongliData( 42 ) = 267438 NongliData( 43 ) = 2647 NongliData( 44 ) = 1318 NongliData( 45 ) = 204070 NongliData( 46 ) = 3477 NongliData( 47 ) = 461653 NongliData( 48 ) = 1386 NongliData( 49 ) = 2413 NongliData( 50 ) = 330077 NongliData( 51 ) = 1197 NongliData( 52 ) = 2637 NongliData( 53 ) = 268877 NongliData( 54 ) = 3365 NongliData( 55 ) = 531109 NongliData( 56 ) = 2900 NongliData( 57 ) = 2922 NongliData( 58 ) = 398042 NongliData( 59 ) = 2395 NongliData( 60 ) = 1179 NongliData( 61 ) = 267415 NongliData( 62 ) = 2635 NongliData( 63 ) = 661067 NongliData( 64 ) = 1701 NongliData( 65 ) = 1748 NongliData( 66 ) = 398772 NongliData( 67 ) = 2742 NongliData( 68 ) = 2391 NongliData( 69 ) = 330031 NongliData( 70 ) = 1175 NongliData( 71 ) = 1611 NongliData( 72 ) = 200010 NongliData( 73 ) = 3749 NongliData( 74 ) = 527717 NongliData( 75 ) = 1452 NongliData( 76 ) = 2742 NongliData( 77 ) = 332397 NongliData( 78 ) = 2350 NongliData( 79 ) = 3222 NongliData( 80 ) = 268949 NongliData( 81 ) = 3402 NongliData( 82 ) = 3493 NongliData( 83 ) = 133973 NongliData( 84 ) = 1386 NongliData( 85 ) = 464219 NongliData( 86 ) = 605 NongliData( 87 ) = 2349 NongliData( 88 ) = 334123 NongliData( 89 ) = 2709 NongliData( 90 ) = 2890 NongliData( 91 ) = 267946 NongliData( 92 ) = 2773 NongliData( 93 ) = 592565 NongliData( 94 ) = 1210 NongliData( 95 ) = 2651 NongliData( 96 ) = 395863 NongliData( 97 ) = 1323 NongliData( 98 ) = 2707 NongliData( 99 ) = 265877 ' 生成当前公历年、月、日 ==> GongliStr curYear = Year (curTime)curMonth = Month (curTime)curDay = Day (curTime)GongliStr = curYear & " 年 " If (curMonth < 10 ) Then GongliStr = GongliStr & " 0 " & curMonth & " 月 " Else GongliStr = GongliStr & curMonth & " 月 " End If If (curDay < 10 ) Then GongliStr = GongliStr & " 0 " & curDay & " 日 " Else GongliStr = GongliStr & curDay & " 日 " End If ' 生成当前公历星期 ==> WeekdayStr curWeekday = Weekday (curTime)WeekdayStr = WeekName(curWeekday) ' 计算到初始时间1921年2月8日的天数:1921-2-8(正月初一) TheDate = (curYear - 1921 ) * 365 + Int ((curYear - 1921 ) / 4 ) + curDay + MonthAdd(curMonth - 1 ) - 38 If ((curYear Mod 4 ) = 0 And curMonth > 2 ) Then TheDate = TheDate + 1 End If ' 计算农历天干、地支、月、日 isEnd = 0 m = 0 Do If (NongliData(m) < 4095 ) Then k = 11 Else k = 12 End If n = k Do If (n < 0 ) Then Exit Do End If ' 获取NongliData(m)的第n个二进制位的值 bit = NongliData(m) For i = 1 To n Step 1 bit = Int (bit / 2 ) Next bit = bit Mod 2 If (TheDate <= 29 + bit) Then isEnd = 1 Exit Do End If TheDate = TheDate - 29 - bit n = n - 1 Loop If (isEnd = 1 ) Then Exit Do End If m = m + 1 Loop curYear = 1921 + mcurMonth = k - n + 1 curDay = TheDate If (k = 12 ) Then If (curMonth = ( Int (NongliData(m) / 65536 ) + 1 )) Then curMonth = 1 - curMonth ElseIf (curMonth > ( Int (NongliData(m) / 65536 ) + 1 )) Then curMonth = curMonth - 1 End If End If ' 生成农历天干、地支、属相 ==> NongliStr NongliStr = " 农历 " & TianGan(((curYear - 4 ) Mod 60 ) Mod 10 ) & DiZhi(((curYear - 4 ) Mod 60 ) Mod 12 ) & " 年 " NongliStr = NongliStr & " ( " & ShuXiang(((curYear - 4 ) Mod 60 ) Mod 12 ) & " ) " ' 生成农历月、日 ==> NongliDayStr If (curMonth < 1 ) Then NongliDayStr = " 闰 " & MonName( - 1 * curMonth) Else NongliDayStr = MonName(curMonth) End If NongliDayStr = NongliDayStr & " 月 " NongliDayStr = NongliDayStr & DayName(curDay)nl = NongliStr & NongliDayStr End Function msgbox nl </ script > 阴历的JS代码:
< script language = " JavaScript " > <!-- var bsYear; var bsDate; var bsWeek; var arrLen = 8 ; // 数组长度 var sValue = 0 ; // 当年的秒数 var dayiy = 0 ; // 当年第几天 var miy = 0 ; // 月份的下标 var iyear = 0 ; // 年份标记 var dayim = 0 ; // 当月第几天 var spd = 86400 ; // 每天的秒数 var year1999 = " 30;29;29;30;29;29;30;29;30;30;30;29 " ; // 354 var year2000 = " 30;30;29;29;30;29;29;30;29;30;30;29 " ; // 354 var year2001 = " 30;30;29;30;29;30;29;29;30;29;30;29;30 " ; // 384 var year2002 = " 30;30;29;30;29;30;29;29;30;29;30;29 " ; // 354 var year2003 = " 30;30;29;30;30;29;30;29;29;30;29;30 " ; // 355 var year2004 = " 29;30;29;30;30;29;30;29;30;29;30;29;30 " ; // 384 var year2005 = " 29;30;29;30;29;30;30;29;30;29;30;29 " ; // 354 var year2006 = " 30;29;30;29;30;30;29;29;30;30;29;29;30 " ; var month1999 = " 正月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月 " var month2001 = " 正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月 " var month2004 = " 正月;二月;闰二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月 " var month2006 = " 正月;二月;三月;四月;五月;六月;七月;闰七月;八月;九月;十月;十一月;十二月 " var Dn = " 初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十 " ; var Ys = new Array(arrLen);Ys[ 0 ] = 919094400 ;Ys[ 1 ] = 949680000 ;Ys[ 2 ] = 980265600 ;Ys[ 3 ] = 1013443200 ;Ys[ 4 ] = 1044028800 ;Ys[ 5 ] = 1074700800 ;Ys[ 6 ] = 1107878400 ;Ys[ 7 ] = 1138464000 ; var Yn = new Array(arrLen); // 农历年的名称 Yn[ 0 ] = " 己卯年 " ;Yn[ 1 ] = " 庚辰年 " ;Yn[ 2 ] = " 辛巳年 " ;Yn[ 3 ] = " 壬午年 " ;Yn[ 4 ] = " 癸未年 " ;Yn[ 5 ] = " 甲申年 " ;Yn[ 6 ] = " 乙酉年 " ;Yn[ 7 ] = " 丙戌年 " ; var D = new Date(); var yy = D.getYear(); var mm = D.getMonth() + 1 ; var dd = D.getDate(); var ww = D.getDay(); if (ww == 0 ) ww = " <font color=RED>星期日 " ; if (ww == 1 ) ww = " 星期一 " ; if (ww == 2 ) ww = " 星期二 " ; if (ww == 3 ) ww = " 星期三 " ; if (ww == 4 ) ww = " 星期四 " ; if (ww == 5 ) ww = " 星期五 " ; if (ww == 6 ) ww = " <font color=RED>星期六 " ;ww = ww; var ss = parseInt(D.getTime() / 1000 ); if (yy < 100 ) yy = " 19 " + yy; for (I = 0 ;I < arrLen;I ++ ) if (ss >= Ys[I]) ... { iyear=I; sValue=ss-Ys[I]; //当年的秒数 } dayiy = parseInt(sValue / spd) + 1 ; // 当年的天数 var dpm = year1999; if (iyear == 1 ) dpm = year2000; if (iyear == 2 ) dpm = year2001; if (iyear == 3 ) dpm = year2002; if (iyear == 4 ) dpm = year2003; if (iyear == 5 ) dpm = year2004; if (iyear == 6 ) dpm = year2005; if (iyear == 7 ) dpm = year2006;dpm = dpm.split( " ; " ); var Mn = month1999; if (iyear == 2 ) Mn = month2001; if (iyear == 5 ) Mn = month2004; if (iyear == 7 ) Mn = month2006;Mn = Mn.split( " ; " ); var Dn = " 初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十 " ;Dn = Dn.split( " ; " );dayim = dayiy; var total = new Array( 13 );total[ 0 ] = parseInt(dpm[ 0 ]); for (I = 1 ;I < dpm.length - 1 ;I ++ ) total[I] = parseInt(dpm[I]) + total[I - 1 ]; for (I = dpm.length - 1 ;I > 0 ;I -- ) if (dayim > total[I - 1 ]) ... { dayim=dayim-total[I-1]; miy=I; } bsWeek = ww;bsDate = yy + " 年 " + mm + " 月 " ;bsDate2 = dd;bsYear = " 农历 " + Yn[iyear];bsYear2 = Mn[miy] + Dn[dayim - 1 ]; if (ss >= Ys[ 7 ] || ss < Ys[ 0 ]) bsYear = Yn[ 7 ]; function CAL() ... { document.write("<table border='1' cellspacing='3' width='90' bordercolor='#000000' bgcolor='#FFFFFF' height='110' cellpadding='2'");document.write("<tr><td align='center'><b><font color=#008040>"+bsDate+"</font><br><font face='Arial' size='6' color=#FF8040>"+bsDate2+"</font><br><font color=#008040><span style='FONT-SIZE: 10.5pt'>");document.write(bsWeek+"</span><br>"+"<br></b><font color=#9B4E00>");document.write(bsYear+"<br>"+bsYear2+"</td></tr></table>");} // --> </ script > < script language = " javascript " > CAL(); </ script > 转载地址:http://elcpi.baihongyu.com/