Copy codeThe Code is as follows:
<Script type = "text/javascript">
Var CalendarData = new Array (100 );
Var madd = new Array (12 );
Var tgString = "A, B, and C ";
Var dzString = "Zi ugly Yin Mao chen Wu Wei Xi Hai ";
Var numString = "February 5, 1234, 80 or 90 ";
Var monString = "June 2345, 80 or 90 Winter ";
Var weekString = "May 15, 1234 ";
Var sx = "rat, ox, Tiger, Rabbit, dragon, Snake, horse, monkey, chicken, dog, and pig ";
Var cYear, cMonth, cDay, TheDate;
CalendarData = new Array (0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x0000b5, 0x2B6, 0x957, expires, 0x497, 0x60C96, 0xD4A, 0xEA5, 0x50DA9, 0x5AD, 0x2B6, primary, 0x92E, 0x7192D, 0xC95, 0xD4A, primary, 0xB55, 0x56A, 0x00005b, 0x25D, 0x92D, primary, 0xA95, 0x71695, 0x6CA, 0xB55, primary, 0x4DA, 0xA5B, primary, 0x52B, 0x8152A, 0xE95, 0x6AA, primary, 0xAB5, 0x4B6, primary, 0xA57, 0x526, 0x31D26, 0xD95, primary, 0x56A, 0x96D, primary, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B, primary, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, primary, 0x497, 0x64B, primary, 0xEA5, 0x80D65, 0x5AC, 0xAB6, primary, 0x92E, 0xC96, primary, 0xD4A, 0xDA5, primary, 0x56A, 0x7155B, 0x25D, 0x92D, primary, 0xA95, 0xB4A, 0x416AA, 0xAD5, 0x90AB5, 0x4BA, 0xA5B, 0x60A57, 0x52B, 0xA93, 0x40E95 );
Madd [0] = 0;
Madd [1] = 31;
Madd [2] = 59;
Madd [3] = 90;
Madd [4] = 120;
Madd [5] = 151;
Madd [6] = 181;
Madd [7] = 212;
Madd [8] = 243;
Madd [9] = 273;
Madd [10] = 304;
Madd [11] = 334;
Function GetBit (m, n ){
Return (m> n) & 1;
}
Function e2c (){
TheDate = (arguments. length! = 3 )? New Date (): new Date (arguments [0], arguments [1], arguments [2]);
Var total, m, n, k;
Var isEnd = false;
Var tmp = TheDate. getYear ();
If (tmp <1900 ){
Tmp+ = 1900;
}
Total = (tmp-1921) * 365 + Math. floor (tmp-1921)/4) + madd [TheDate. getMonth ()] + TheDate. getDate ()-38;
If (TheDate. getYear () % 4 = 0 & TheDate. getMonth ()> 1 ){
Total ++;
}
For (m = 0; m ++ ){
K = (CalendarData [m] <0 xfff )? 11: 12;
For (n = k; n> = 0; n --){
If (total <= 29 + GetBit (CalendarData [m], n )){
IsEnd = true; break;
}
Total = total-29-GetBit (CalendarData [m], n );
}
If (isEnd) break;
}
CYear = 1921 + m;
CMonth = k-n + 1;
CDay = total;
If (k = 12 ){
If (cMonth = Math. floor (CalendarData [m]/0x10000) + 1 ){
CMonth = 1-cMonth;
}
If (cMonth> Math. floor (CalendarData [m]/0x10000) + 1 ){
CMonth --;
}
}
}
Function GetcDateString (){
Var tmp = "";
Tmp + = tgString. charAt (cYear-4) % 10 );
Tmp + = dzString. charAt (cYear-4) % 12 );
Tmp + = "(";
Tmp + = sx. charAt (cYear-4) % 12 );
Tmp + = ") Year ";
If (cMonth <1 ){
Tmp + = "(bytes )";
Tmp + = monString. charAt (-cMonth-1 );
} Else {
Tmp + = monString. charAt (cMonth-1 );
}
Tmp + = "month ";
Tmp + = (cDay <11 )? "Beginning": (cDay <20 )? "10": (cDay <30 )? "Identifier": "Thirty "));
If (cDay % 10! = 0 | cDay = 10 ){
Tmp + = numString. charAt (cDay-1) % 10 );
}
Return tmp;
}
Function GetLunarDay (solarYear, solarMonth, solarDay ){
// SolarYear = solarYear <1900? (1900 + solarYear): solarYear;
If (solarYear <1921 | solarYear> 2020 ){
Return "";
} Else {
SolarMonth = (parseInt (solarMonth)> 0 )? (SolarMonth-1): 11;
E2c (solarYear, solarMonth, solarDay );
Return GetcDateString ();
}
}
// Call
Var D = new Date ();
Var yy = D. getFullYear ();
Var mm = D. getMonth () + 1;
Var dd = D. getDate ();
Var ww = D. getDay ();
Var ss = parseInt (D. getTime ()/1000 );
If (yy <100) yy = "19" + yy;
Function GetCNDate (){
Return GetLunarDay (yy, mm, dd );
}
$ (Document). ready (function (){
Var d = GetCNDate ();
Alert (d );
});
</Script>