当前位置:首页 > 程序&理念 >

ASP获取农历日期程序代码

时间:2015-04-21 16:35:04浏览:4434 转载


<%
dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9),DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
dim curTime, curYear, curMonth, curDay, curWeekday
dim GongliStr, WeekdayStr, NongliStr, NongliDayStr
dim i, m, n, k, isEnd, bit, TheDate
'星期名
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
'获取当前系统时间
curTime = Now()
'生成当前公历年、月、日 ==> 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 + m
curMonth = 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)
%>

<%=GongliStr%>
<%=WeekdayStr%>
<%=NongliStr%>
<%=NongliDayStr%>
1

上一篇:终于搞定linux下的mysql文件自动备份
下一篇:UTF-8编码ASP页面 输出 GB2312 (GBK)编码的变量 超级简单

发表评论

昵称:  验证码:

关于博主

博主

博主:BlueCode

职业:web程序

简介:2002年开始一直从事Web制作,网站运营,会PHP+MYSQL ASP+MSSQL,微信开发