Javascript获取阴历日期的日期代码。

Javascript代码




设置日期

无功calendardata =新阵(100);

VaR MADD =新阵(12);

无功numstring =yiersansiwuliuqibajiushi ;

无功monstring = 是ersansiwuliuqibajiushi冬季蜡;

无功cyear,cmonth,cday,日期;

农历一年只有29或30天,有12个(或13个)二进制位,从高到低,相应的位1代表30天或29天。

calendardata =新的数组(0xa4b,0x5164b,0x6a5,0x6d4,0x415b5,0x2b6,0 X 957,0x2092f,0×497,0x60c96,0xd4a,0xea5,0x50da9,0x5ad,

0x2b6,0x3126e,0x92e,0x7192d,0xc95,0xd4a,0x61b4a,0xb55,0x56a,0x4155b,0x25d,0x92d,0x2192b,0xa95,0 * 71695,0x6ca,

0xb55,0x50ab5,0x4da,0xa5b,0x30a57,0x52b,0x8152a,0xe95,0x6aa,0x615aa,0xab5,0x4b6,0x414ae,0xa57,0 * 526,0x31d26,0xd95,

0x70b55,0x56a,0x96d,0x5095d,0x4ad,0xa4d,0x41a4d,0xd25,0x81aa5,0xb54,0xb6a,0x612da,0x95b,0x49b,0×41497,0xa4b,0xa164b,

0x6a5,0x6d4,0x615b4,0xab6,0 X 957,0x5092f,0 x 497,0x64b,0x30d4a,0xea5,0x80d65,0x5ac,0xab6,0x5126d,0x92e,0xc96,0x41a95,

0xd4a,0xda5,0x20b55,0x56a,0x7155b,0x25d,0x92d,0x5192b,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;

函数中的getbit(m,n){

返回(m×n)1;

}

功能E2C(){

日期=(arguments.length!= 3)新日期():新日期(参数{ 0 },参数{ 1 },参数{ 2 });

总、m、n、k;

无功终端= false;

var tmp = thedate.getyear();

如果(TMP<1900){

TMP=1900;

}

总=(tmp-1921)* 365 + math.floor((tmp-1921) / 4)+ thedate.getmonth MADD {()} + thedate.getdate()- 38;

如果(thedate.getyear()% 4 = = 0thedate.getmonth()> 1){

总+;

}

对于(m=0;;m + +){

K =(calendardata {米} < 0xfff)11:12;

对于(n = k;n = 0;n){

如果(总< = 29 +中的getbit(calendardata {米},N)){

终端= true;打破;

}

总= total-29-getbit(calendardata {米},N);

}

如果(终端)打破;

}

cyear = 1921 + M;

cmonth K-N + 1 =;

cday =总;

如果(k=12){

如果(cmonth = = math.floor(calendardata {米} / 0x10000)+ 1){

cmonth = 1-cmonth;

}

如果(cmonth > math.floor(calendardata {米} / 0x10000)+ 1){

cmonth --;

}

}

}

功能getcdatestring(){

var;

如果(cmonth<1){

TMP(跳跃);

川芎嗪+ = monstring.charat(- cmonth-1);

其他{ }

川芎嗪+ = monstring.charat(cmonth-1);

}

月;

川芎嗪+ =(cday<11)早:(cday<20)十:((cday<30)二十三十);

如果(cday % 10!= 0 | | cday = = 10){

川芎嗪+ = numstring.charat(((cday-1)% 10);

}

返回TMP;

}

功能getlunarday(solaryear,solarmonth,solarday){

/ / solaryear = solaryear<1900(1900 + solaryear):solaryear;

如果(solaryear2020){

返回;

其他{ }

solarmonth =(parseInt(solarmonth)> 0)(solarmonth-1):11;

E2C(solaryear,solarmonth,solarday);

返回getcdatestring();

}

}

新日期();

VaR YY = d.getfullyear();

VaR d.getmonth毫米=()+ 1;

var = d.getdate(DD);

VaR WW d.getday();

VaR SS = parseInt()/ D.getTime(1000);

如果(YY 100)YY =19+ YY;

功能showcal(){

VaR农力= getlunarday(YY、MM、DD);

返回农力;

}

结束设置


呼叫

复制代码代码如下所示:

$(#田七H5)。文本(showcal());



uff1a效应



九月十一日是农历的日子。