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效应
九月十一日是农历的日子。