博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
可显示农历的VBS+JS代码:
阅读量:4118 次
发布时间:2019-05-25

本文共 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
=
 
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)
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/

你可能感兴趣的文章
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
Linux查看mac地址
查看>>
Linux修改ip
查看>>
MySQL字段类型的选择与MySQL的查询效率
查看>>
Java的Properties配置文件用法【续】
查看>>
JAVA操作properties文件的代码实例
查看>>
IPS开发手记【一】
查看>>
Java通用字符处理类
查看>>