zl程序教程

您现在的位置是:首页 >  后端

当前栏目

很全的显示阴历(农历)日期的js代码

JS日期代码 显示 农历 很全 阴历
2023-06-13 09:14:07 时间
functionRunGLNL(){
vartoday=newDate();
vard=newArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
varDDDD=(today.getYear()<100?
today.getYear()+1900:today.getYear())+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日";
DDDD=DDDD+""+d[today.getDay()];
DDDD=DDDD+""+(CnDateofDateStr(today));
//DDDD=DDDD+""+SolarTerm(today);
document.write(DDDD);
}
functionDaysNumberofDate(DateGL){
returnparseInt((Date.parse(DateGL)-Date.parse(DateGL.getYear()+"/1/1"))/86400000)+1;
}
functionCnDateofDate(DateGL){
varCnData=newArray(
0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00,
0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02,
0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00,
0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04,
0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00,
0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04
);
varCnMonth=newArray();
varCnMonthDays=newArray();
varCnBeginDay;
varLeapMonth;
varBytes=newArray();
varI;
varCnMonthData;
varDaysCount;
varCnDaysCount;
varResultMonth;
varResultDay;
varyyyy=DateGL.getYear();
varmm=DateGL.getMonth()+1;
vardd=DateGL.getDate();
if(yyyy<100)yyyy+=1900;
if((yyyy<1997)||(yyyy>2020)){
return0;
}
Bytes[0]=CnData[(yyyy-1997)*4];
Bytes[1]=CnData[(yyyy-1997)*4+1];
Bytes[2]=CnData[(yyyy-1997)*4+2];
Bytes[3]=CnData[(yyyy-1997)*4+3];
if((Bytes[0]&0x80)!=0){CnMonth[0]=12;}
else{CnMonth[0]=11;}
CnBeginDay=(Bytes[0]&0x7f);
CnMonthData=Bytes[1];
CnMonthData=CnMonthData<<8;
CnMonthData=CnMonthData|Bytes[2];
LeapMonth=Bytes[3];
for(I=15;I>=0;I--){
CnMonthDays[15-I]=29;
if(((1<<I)&CnMonthData)!=0){
CnMonthDays[15-I]++;}
if(CnMonth[15-I]==LeapMonth){
CnMonth[15-I+1]=-LeapMonth;}
else{
if(CnMonth[15-I]<0){CnMonth[15-I+1]=-CnMonth[15-I]+1;}
else{CnMonth[15-I+1]=CnMonth[15-I]+1;}
if(CnMonth[15-I+1]>12){CnMonth[15-I+1]=1;}
}
}
DaysCount=DaysNumberofDate(DateGL)-1;
if(DaysCount<=(CnMonthDays[0]-CnBeginDay)){
if((yyyy>1901)&&(CnDateofDate(newDate((yyyy-1)+"/12/31"))<0)){
ResultMonth=-CnMonth[0];}
else{ResultMonth=CnMonth[0];}
ResultDay=CnBeginDay+DaysCount;
}
else{
CnDaysCount=CnMonthDays[0]-CnBeginDay;
I=1;
while((CnDaysCount<DaysCount)&&(CnDaysCount+CnMonthDays[I]<DaysCount)){
CnDaysCount+=CnMonthDays[I];
I++;
}
ResultMonth=CnMonth[I];
ResultDay=DaysCount-CnDaysCount;
}
if(ResultMonth>0){
returnResultMonth*100+ResultDay;}
else{returnResultMonth*100-ResultDay;}
}
functionCnYearofDate(DateGL){
varYYYY=DateGL.getYear();
varMM=DateGL.getMonth()+1;
varCnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);
if(YYYY<100)YYYY+=1900;
if(CnMM>MM)YYYY--;
YYYY-=1864;
returnCnEra(YYYY)+"年";
}
functionCnMonthofDate(DateGL){
varCnMonthStr=newArray("零","正","二","三","四","五","六","七","八","九","十","十一","腊");
varMonth;
Month=parseInt(CnDateofDate(DateGL)/100);
if(Month<0){return"闰"+CnMonthStr[-Month]+"月";}
else{returnCnMonthStr[Month]+"月";}
}
functionCnDayofDate(DateGL){
varCnDayStr=newArray("零",
"初一","初二","初三","初四","初五",
"初六","初七","初八","初九","初十",
"十一","十二","十三","十四","十五",
"十六","十七","十八","十九","二十",
"廿一","廿二","廿三","廿四","廿五",
"廿六","廿七","廿八","廿九","三十");
varDay;
Day=(Math.abs(CnDateofDate(DateGL)))%100;
returnCnDayStr[Day];
}
functionDaysNumberofMonth(DateGL){
varMM1=DateGL.getYear();
MM1<100?MM1+=1900:MM1;
varMM2=MM1;
MM1+="/"+(DateGL.getMonth()+1);
MM2+="/"+(DateGL.getMonth()+2);
MM1+="/1";
MM2+="/1";
returnparseInt((Date.parse(MM2)-Date.parse(MM1))/86400000);
}
functionCnEra(YYYY){
varTiangan=newArray("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
//varDizhi=newArray("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)",
//"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)");
varDizhi=newArray("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
returnTiangan[YYYY%10]+Dizhi[YYYY%12];
}
functionCnDateofDateStr(DateGL){
if(CnMonthofDate(DateGL)=="零月")return" 请调整您的计算机日期!";
elsereturn"农历:"+CnYearofDate(DateGL)+""+CnMonthofDate(DateGL)+CnDayofDate(DateGL);
}
functionSolarTerm(DateGL){
varSolarTermStr=newArray(
"小寒","大寒","立春","雨水","惊蛰","春分",
"清明","谷雨","立夏","小满","芒种","夏至",
"小暑","大暑","立秋","处暑","白露","秋分",
"寒露","霜降","立冬","小雪","大雪","冬至");
varDifferenceInMonth=newArray(
1272060,1275495,1281180,1289445,1299225,1310355,
1321560,1333035,1342770,1350855,1356420,1359045,
1358580,1355055,1348695,1340040,1329630,1318455,
1306935,1297380,1286865,1277730,1274550,1271556);
varDifferenceInYear=31556926;
varBeginTime=newDate(1901/1/1);
BeginTime.setTime(947120460000);
for(;DateGL.getYear()<BeginTime.getYear();){
BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000);
}
for(;DateGL.getYear()>BeginTime.getYear();){
BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000);
}
for(varM=0;DateGL.getMonth()>BeginTime.getMonth();M++){
BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
}
if(DateGL.getDate()>BeginTime.getDate()){
BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
M++;
}
if(DateGL.getDate()>BeginTime.getDate()){
BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
M==23?M=0:M++;
}
varJQ;
if(DateGL.getDate()==BeginTime.getDate()){
JQ=" 今天是<fontcolor="#FF9999"><b>"+SolarTermStr[M]+"</b></font>";
}
elseif(DateGL.getDate()==BeginTime.getDate()-1){
JQ=" 明天是<fontcolor="#FF9999"><b>"+SolarTermStr[M]+"</b></font>";
}
elseif(DateGL.getDate()==BeginTime.getDate()-2){
JQ=" 后天是<fontcolor="#FF9999"><b>"+SolarTermStr[M]+"</b></font>";
}
else{
JQ=""
if(DateGL.getMonth()==BeginTime.getMonth()){
JQ+=" 本月";
}
else{
JQ+=" 下月";
}
JQ+=BeginTime.getDate()+"日"+"<fontcolor="#FF9999"><b>"+SolarTermStr[M]+"</b></font>";
}
returnJQ;
}
functionCAL()
{}
RunGLNL();