js农历算法 js 农历日期插件_运程_十二生肖

十二生肖>十二星座>运程

js农历算法 js 农历日期插件

时间:2023-10-29 17:56:28 作者:圣水湖畔

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于js农历算法 js 农历日期插件的文章,本文对文章js农历算法 js 农历日期插件好好的分析和解答,希望你能喜欢,只有你喜欢的内容存在,只有你来光临,我们才能继续前行。

js农历算法 js 农历日期插件

农历查询API接口说明

农历计算,百度的计算比较准确,包括黄历禁忌计算都比较准确,而其他的一些网站,你可以对比下,基本上农历要是能准确猛笑岩就算不错了,一般是闰月就有问题,年头年尾也有问题。

一般是JS实现的,很少有Java版本的,我观摩了网上N多Java版本的,基本都有问题,所以下定决心,翻译了一下Javascript成Java,故得出这个接口。

现在,我们网站采用微服务的方式提供出来,响应效率高,可以达到不限制次数。关键是免费的,而且提供JSON方式返回。

接口返回的数据升察很全面,如: 农历 、 黄历 、 禁忌 、 星期 、 生肖 、 当月的节气 、 是否闰月 、 是不是大月 等,具体自己体会。

参数说明:格式为 yyyy-MM-dd ,可以不传参,默认为当天,Get请求即可。

农历查询 演示

我测试一下请求当天农历查询,链接为: http://www.sojson.com/open/api/lunar/json.shtml

返回成功状态为: 200 ,失败为 500 。

农历查询 JSON返回方式(成功)

农历查询 JSON返回方式(失败)

失败情况下一般是参数问题,参数不识别,没有按规则走,格式为yyyy-MM-dd,如2023-02-02。

农历查询 JSON返回方式,指定日期

我测试一下请枝御求当天农历查询,链接为: http://www.sojson.com/open/api/lunar/json.shtml?date=2023-05-27 ,参数可以 2023-5-27 也可以

请求成功结果,错误信息参照上面。

注: 点我查看原网页 。

求js详细时间代码,年月日星期时分(秒),阴历日期

function RunGLNL(){ var today=new Date(); var d=new Array("星期日","星期一","星期二","星搜数期三","星期四","星期五","星期六"); var DDDD=(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); } function DaysNumberofDate(DateGL){ return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getYear()+"/1/1"))/)+1; } function CnDateofDate(DateGL){ var CnData=new Array( 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 ); var CnMonth=new Array(); var CnMonthDays=new Array(); var CnBeginDay; var LeapMonth; var Bytes=new Array(); var I; var CnMonthData; var DaysCount; var CnDaysCount; var ResultMonth; var ResultDay; var yyyy=DateGL.getYear(); var mm=DateGL.getMonth()+1; var dd=DateGL.getDate(); if(yyyy<100) yyyy+=1900; if ((yyyy < 1997) || (yyyy > 2023)){ return 0; } 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(new Date((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){ return ResultMonth * 100 + ResultDay;} else{return ResultMonth * 100 - ResultDay;} } function CnYearofDate(DateGL){ var YYYY=DateGL.getYear(); var MM=DateGL.getMonth()+1; var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100); if(YYYY<100) YYYY+=1900; if(CnMM>MM) YYYY--; YYYY-=1864; return CnEra(YYYY)+"年"; } function CnMonthofDate(DateGL){ var CnMonthStr=new Array("零","正","二","三","四","五","六","七","八","九","十","十一","腊"); var Month; Month = parseInt(CnDateofDate(DateGL)/100); if (Month < 0){return "闰" + CnMonthStr[-Month] + "月";} else{return CnMonthStr[Month] + "月";} } function CnDayofDate(DateGL){ var CnDayStr=new Array("零", "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十"); var Day; Day = (Math.abs(CnDateofDate(DateGL)))%100; return CnDayStr[Day]; } function DaysNumberofMonth(DateGL){ var MM1=DateGL.getYear(); MM1<100 ? MM1+=1900:MM1; var MM2=MM1; MM1+="/"+(DateGL.getMonth()+1); MM2+="/"+(DateGL.getMonth()+2); MM1+="/1"; MM2+="/1"; return parseInt((Date.parse(MM2)-Date.parse(MM1))/); } function CnEra(YYYY){ var Tiangan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸"); //var Dizhi=new Array("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)", //"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)"); var Dizhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"); return Tiangan[YYYY%10]+Dizhi[YYYY%12]; } function CnDateofDateStr(DateGL){ if(CnMonthofDate(DateGL)=="零月") return " 请调整您的计算机日期!"; else return "农历:"+CnYearofDate(DateGL)+ " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL); } function SolarTerm(DateGL){ var SolarTermStr=new Array( "小寒","大寒","立春","雨水","惊蛰","春分", "清明","谷雨","立夏","小满","芒种","夏至", "小暑","大暑","立秋","处暑","白露","秋分", "寒露","霜降","立冬","小雪","大雪","冬至"); var DifferenceInMonth=new Array( ,,,,,, ,,,,,, ,,,,,, ,,,,,); var DifferenceInYear=; var BeginTime=new Date(1901/1/1); BeginTime.setTime(); for(;DateGL.getYear()<BeginTime.getYear();){ BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000); } for(;DateGL.getYear()>BeginTime.getYear();){ BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000); } for(var M=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++; } var JQ; if(DateGL.getDate()==BeginTime.getDate()){ JQ=" 今天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else if(DateGL.getDate()==BeginTime.getDate()-1){ JQ=" 明天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else if(DateGL.getDate()==BeginTime.getDate()-2){ JQ=" 后天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else{ JQ=" " if(DateGL.getMonth()==BeginTime.getMonth()){ JQ+=" 本月"; } else{ JQ+=" 下月"; } JQ+=BeginTime.getDate()+"日"+"<font color='#FF9999'><b>"+SolarTermStr[M]+"</b></font>"; } return JQ; } function CAL() {} RunGLNL(); 详细出处参考: http://www.jb51.net/article/17021.htm

JS万年历中如何求某天的节气

同样的函樱轿数,这个却贺棚不能用第402行,按下某日期显示当前节气

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD><TITLE></TITLE>

<META

<META content=All name=robots>

<META content="Gregorian Solar Calendar and Chinese Lunar Calendar"

name=description>

<META content=no-cache name=Pragma>

<META content=no-cache name=Cache-Control>

<script language="禅颂则JavaScript" src="jieri.js"></script>

<script language="JavaScript" src="jieqi.js"></script>

<SCRIPT language=JScript>

var conWeekend = 3;

var lunarInfo=new Array(

0x4bd8,0x4ae0,0xa570,0x54d5,0xd260,0xd950,0x5554,0x56af,0x9ad0,0x55d2,

0x4ae0,0xa5b6,0xa4d0,0xd250,0xd295,0xb54f,0xd6a0,0xada2,0x95b0,0x4977,

0x497f,0xa4b0,0xb4b5,0x6a50,0x6d40,0xab54,0x2b6f,0x9570,0x52f2,0x4970,

0x6566,0xd4a0,0xea50,0x6a95,0x5adf,0x2b60,0x86e3,0x92ef,0xc8d7,0xc95f,

0xd4a0,0xd8a6,0xb55f,0x56a0,0xa5b4,0x25df,0x92d0,0xd2b2,0xa950,0xb557,

0x6ca0,0xb550,0x5355,0x4daf,0xa5b0,0x4573,0x52bf,0xa9a8,0xe950,0x6aa0,

0xaea6,0xab50,0x4b60,0xaae4,0xa570,0x5260,0xf263,0xd950,0x5b57,0x56a0,

0x96d0,0x4dd5,0x4ad0,0xa4d0,0xd4d4,0xd250,0xd558,0xb540,0xb6a0,0x95a6,

0x95bf,0x49b0,0xa974,0xa4b0,0xb27a,0x6a50,0x6d40,0xaf46,0xab60,0x9570,

0x4af5,0x4970,0x64b0,0x74a3,0xea50,0x6b58,0x5ac0,0xab60,0x96d5,0x92e0,

0xc960,0xd954,0xd4a0,0xda50,0x7552,0x56a0,0xabb7,0x25d0,0x92d0,0xcab5,

0xa950,0xb4a0,0xbaa4,0xad50,0x55d9,0x4ba0,0xa5b0,0x5176,0x52bf,0xa930,

0x7954,0x6aa0,0xad50,0x5b52,0x4b60,0xa6e6,0xa4e0,0xd260,0xea65,0xd530,

0x5aa0,0x76a3,0x96d0,0x4afb,0x4ad0,0xa4d0,0xd0b6,0xd25f,0xd520,0xdd45,

0xb5a0,0x56d0,0x55b2,0x49b0,0xa577,0xa4b0,0xaa50,0xb255,0x6d2f,0xada0,

0x4b63,0x937f,0x49f8,0x4970,0x64b0,0x68a6,0xea5f,0x6b20,0xa6c4,0xaaef,

0x92e0,0xd2e3,0xc960,0xd557,0xd4a0,0xda50,0x5d55,0x56a0,0xa6d0,0x55d4,

0x52d0,0xa9b8,0xa950,0xb4a0,0xb6a6,0xad50,0x55a0,0xaba4,0xa5b0,0x52b0,

0xb273,0x6930,0x7337,0x6aa0,0xad50,0x4b55,0x4b6f,0xa570,0x54e4,0xd260,

0xe968,0xd520,0xdaa0,0x6aa6,0x56df,0x4ae0,0xa9d4,0xa4d0,0xd150,0xf252,

0xd520);

var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");

var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");

var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");

var solarTerm = new Array("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至");

var sTermInfo = new Array(0,21208,42467,63836,85337,,,,,,,,,,,,,,,,,,,);

var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十');

var nStr2 = new Array('初','十','廿','卅',' ')

var monthName = new Array("1 月","2 月","3 月","4 月","5 月","6 月","7 月","8 月","9 月","10 月","11 月","12 月");

var timeData = {

"Asia 亚洲": { //----------------------------------------------

"Brunei 文莱 ":["+0800","","斯里巴加湾市"],

"Burma 缅甸 ":["+0630","","仰光"],

"Cambodia 柬埔寨 ":["+0700","","金边"],

"China 中国 ":["+0800","","北京、重庆、上海、天津"],

"China(HK,Macau) 中国 ":["+0800","","香港、澳门特区"],

"China(TaiWan) 中国 ":["+0800","","台北、高雄"],

"China(Urumchi) 中国 ":["+0700","","乌鲁木齐"],

"Indonesia 印尼 ":["+0700","","雅加达"],

"Poland 波兰 ":["+0100","","华沙"],

"国际换日线 ":["-1200","","国际换日线"]

}

};

function lYearDays(y) {

var i, sum = 348;

for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;

return(sum+leapDays(y));

}

function leapDays(y) {

if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);

else return(0);

}

function leapMonth(y) {

var lm = lunarInfo[y-1900] & 0xf;

return(lm==0xf?0:lm);

}

function monthDays(y,m) {

return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );

}

function Lunar(objDate) {

var i, leap=0, temp=0

var baseDate = new Date(1900,0,31)

this.dayCyl = offset + 40

this.monCyl = 14

for(i=1900; i<2050 && offset>0; i++) {

temp = lYearDays(i)

offset -= temp

this.monCyl += 12

}

if(offset<0) {

offset += temp;

i--;

this.monCyl -= 12

}

this.year = i

this.yearCyl = i-1864

leap = leapMonth(i) //闰哪个月

this.isLeap = false

for(i=1; i<13 && offset>0; i++) {

//闰月

if(leap>0 && i==(leap+1) && this.isLeap==false)

{ --i; this.isLeap = true; temp = leapDays(this.year); }

else

{ temp = monthDays(this.year, i); }

//解除闰月

if(this.isLeap==true && i==(leap+1)) this.isLeap = false

offset -= temp

if(this.isLeap == false) this.monCyl ++

}

if(offset==0 && leap>0 && i==leap+1)

if(this.isLeap)

{ this.isLeap = false; }

else

{ this.isLeap = true; --i; --this.monCyl;}

if(offset<0){ offset += temp; --i; --this.monCyl; }

this.month = i

this.day = offset + 1

}

function solarDays(y,m) {

if(m==1)

else

return(solarMonth[m]);

}

function cyclical(num) {

return(Gan[num%10]+Zhi[num%12]);

}

//============================== 阴历属性

function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {

this.isToday = false;

//瓣句

this.sYear = sYear; //公元年4位数字

this.sMonth = sMonth; //公元月数字

this.sDay = sDay; //公元日数字

this.week = week; //星期, 1个中文

//农历

this.lYear = lYear; //公元年4位数字

this.lMonth = lMonth; //农历月数字

this.lDay = lDay; //农历日数字

this.isLeap = isLeap; //是否为农历闰月?

//八字

this.cYear = cYear; //年柱, 2个中文

this.cMonth = cMonth; //月柱, 2个中文

this.cDay = cDay; //日柱, 2个中文

this.color = '';

this.lunarFestival = ''; //农历节日

this.solarFestival = ''; //公历节日

this.solarTerms = ''; //节气

}

//===== 某年的第n个节气为几日(从0小寒起算)

function sTerm(y,n) {

var offDate = new Date( ( .7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) );

return(offDate.getUTCDate());

}

function strDate(objDate)

{

var tY = objDate.getFullYear();

var tM = objDate.getMonth()+1;

var tD = objDate.getDate();

var tH = objDate.getHours();

var s;

s=+tY+"年"+tM+"月"+tD+"日"+tH+"时";

return s;

}

function GetTerm(objDate) {

var year=objDate.getFullYear();

var d;

var i;

for (i=1;i<23;i+=2) {

d=sTerm(year,i);

if (objDate<d) break;

}

if (i==1) i=23;

return i;

}

function calendar(y,m) {

var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2, tmp3, BMjqFtvl;

var cY, cM, cD; //年柱,月柱,日柱

var lDPOS = new Array(3);

var n = 0;

var firstLM = 0;

sDObj = new Date(y,m,1,0,0,0,0); //当月一日日期

this.length = solarDays(y,m); //公历当月天数

this.firstWeek = sDObj.getDay(); //公历当月1日星期几

if(m<2) cY=cyclical(y-1900+36-1);

else cY=cyclical(y-1900+36);

var term2=sTerm(y,2); //立春日期

var firstNode = sTerm(y,m*2) //返回当月「节」为几日开始

cM = cyclical((y-1900)*12+m+12);

for(var i=0;i<this.length;i++) {

if(lD>lX) {

sDObj = new Date(y,m,i+1); //当月一日日期

lDObj = new Lunar(sDObj); //农历

lY = lDObj.year; //农历年

lM = lDObj.month; //农历月

lD = lDObj.day; //农历日

lL = lDObj.isLeap; //农历是否闰月

lX = lL? leapDays(lY): monthDays(lY,lM); //农历当月最后一天

if(n==0) firstLM = lM;

lDPOS[n++] = i-lD+1;

}

if(m==1 && (i+1)==term2) cY=cyclical(y-1900+36);

if((i+1)==firstNode) cM = cyclical((y-1900)*12+m+13);

cD = cyclical(dayCyclical+i);

this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],

lY, lM, lD++, lL,

cY ,cM, cD );

}

sFtv = new Array(

"0101*新年元旦",

"0312 植树节 孙中山逝世纪念日",

"0314 国际警察日")

for(i in sFtv)

if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))

if(Number(RegExp.$1)==(m+1)) {

this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ';

if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red';

}

}

function cMonth(d){

var s;

switch (d) {

case 1: s = '正'; break;

case 11: s = '冬'; break;

case 12: s = '腊'; break;

break;

default :

s = nStr1[d%12];

}

return(s);

}

function cDay(d){

var s;

switch (d) {

case 10: s = '初十'; break;

case 20: s = '二十'; break;

break;

case 30: s = '三十'; break;

break;

default :

s = nStr2[Math.floor(d/10)];

s += nStr1[d%10];

}

return(s);

}

var cld;

function drawCld(years,months) {

var i,sD,s,size;

cld = new calendar(years,months);

if(years>1874 && years<1909) yDisplay = '光绪' + (((years-1874)==1)?'元':years-1874);

if(years>1908 && years<1912) yDisplay = '宣统' + (((years-1908)==1)?'元':years-1908);

if(years>1911 && years<1950) yDisplay = '民国' + (((years-1911)==1)?'元':years-1911);

if(years>1948) yDisplay = '建国<font color=red>' + (((years-1949)==1)?'元':years-1949);

GZ.innerHTML = yDisplay+'</font>年'+'</a>'+Animals[(years-4)%12]+'年[农历<font color=red>' + cyclical(years-1900+36)+'</font>年]';

for(i=0;i<42;i++) {

sObj=eval('SD'+ i);

lObj=eval('LD'+ i);

sObj.className = '';

sD = i - cld.firstWeek;

if(sD>-1 && sD<cld.length) { //日期内

sObj.innerHTML = sD+1;

if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色

if(cld[sD].lDay==1) //显示农历月

lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';

else //显示农历日

lObj.innerHTML = cDay(cld[sD].lDay);

s=cld[sD].solarFestival;

if(s.length>0) {//公历节日

if(s.length>size+2) s = s.substr(0, size)+'...';

s=(s=='黑色星期五')?s.fontcolor('black'):s.fontcolor('blue');

}

else {

s=cld[sD].lunarFestival;

if(s.length>0) { //农历节日

if(s.length>6) s = s.substr(0, 4)+'...';

s = s.fontcolor('red');

}

else { //廿四节气

s=cld[sD].solarTerms;

if(s.length>0) s = s.fontcolor('limegreen');

}

}

if(s.length>0) lObj.innerHTML = s;

}

else { //非日期

sObj.innerHTML = '';

lObj.innerHTML = '';

}

}

}

var y,m;

y=CLD.years.selectedIndex+1900;

m=CLD.months.selectedIndex;

drawCld(y,m);

}

var Today = new Date();

var tY = Today.getFullYear();

var tM = Today.getMonth();

var tD = Today.getDate();

var width = "130";

var offsetx = 2;

var offsety = 8;

var x = 0;

var y = 0;

var snow = 0;

var sw = 0;

var cnt = 0;

var dStyle;

document.onmousemove = mEvn;

function mOvr(v) {

var s,festival,sjqFtvl;

var sObj=eval('SD'+ v);

var d=sObj.innerHTML-1;

if(sObj.innerHTML!='') {

sObj.style.cursor= 'help';

if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')

festival = '';

else

festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD ALIGN="center">'+

'<FONT COLOR="#" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' +'</FONT></TD>'+

'</TR></TABLE>';

s= '<table border="2" width="140" bordercolor="#0066CC" bgcolor="#FFFBE8" cellpadding="0" cellspacing="0"><TR><td>' +

'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="center"><FONT COLOR="#ff00ff" STYLE="font-size:9pt;">'+

cld[d].sYear+'年'+cld[d].sMonth+'月'+cld[d].sDay+'日星期'+cld[d].week+'<br>'+

'<font color="#FF8000">农历'+cld[d].cYear+'年'+(cld[d].isLeap?' 闰':' ')+cMonth(cld[d].lMonth)+'月'+cDay(cld[d].lDay)+'</font><br>'+

'<font color="">'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日</font>'+

'</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';

document.all["detail"].innerHTML = s;

if (snow == 0) {

dStyle.left = x+offsetx-(width/2);

dStyle.top = y+offsety;

dStyle.visibility = "visible";

snow = 1;

}

}

}

function mOut() {

if ( cnt >= 1 ) { sw = 0; }

if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}

else cnt++;

}

function mEvn() {

x=event.x;

y=event.y;

if (document.body.scrollLeft)

{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}

if (snow){

dStyle.left = x+offsetx-(width/2);

dStyle.top = y+offsety;

}

}

function jieqi(objDate) {

var year=objDate.getFullYear();

var d; var i; var m

for (i=0;i<24;i+=1) {

d=sTerm(year,i);

m=i

if (objDate<=d) break;

} return m

}

function mDown(V) {

var sObj=eval('SD'+ V);

var D=sObj.innerHTML-1;

var ya=cld[D].sYear;//获得当前公历日期!

var ma=cld[D].sMonth;

var da=cld[D].sDay;

var Today=new Date(ya,ma,da,0,0,0)

m=jieqi(Today)

document.all.s3.value=m

}

function setCookie(name,value) {

var today = new Date();

var expires = new Date();

expires.setTime(today.getTime() + 1000*60*60*24*365);

document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString();

}

function getCookie(Name) {

var search = Name + "=";

if(document.cookie.length > 0) {

offset = document.cookie.indexOf(search);

if(offset != -1) {

offset += search.length;

end = document.cookie.indexOf(";", offset);

if(end == -1) end = document.cookie.length;

return unescape(document.cookie.substring(offset, end));

}

else return('');

}

else return('');

}

function initialize() {

dStyle = detail.style;

CLD.years.selectedIndex=tY-1900;

CLD.months.selectedIndex=tM;

drawCld(tY,tM);

}

</SCRIPT>

<STYLE>

.todyaColor {BACKGROUND-COLOR: aqua}

</STYLE><META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>

<BODY onload=initialize()>

<DIV id=detail

style="Z-INDEX: 3; FILTER: shadow(color=#,direction=135); WIDTH: 140px; POSITION: absolute; HEIGHT: 120px"></DIV>

<CENTER>

<TABLE border=0>

<TBODY>

<TR>

<FORM name=xz>

<TD width=440 align=center vAlign=top bgcolor="#CCCCCC">

<label>122

<textarea width=440 name="textarea"></textarea>

</label>

</FORM>

<FORM name=CLD>

<TD align=middle>

<TABLE width="300" border="0" cellSpacing=1 cellPadding=0>

<TR> <TBODY> <TR bgcolor="#319AFF">

<TD colSpan=7 align="center"><FONT style="FONT-SIZE: 9pt"

color=#9900CC size=3> 公元

第 <input name="s3" type="text" size="2" >个节气

<SELECT name=hours> <SCRIPT language=JavaScript> for(i=1;i<13;i++) document.write('<option>'+i) </SCRIPT> </SELECT>时 </FONT> <TR align=middle bgColor=#FF9900>

<TD width=54><FONT color=red>日</FONT><FONT color="#e7f7fe">SUN</FONT></TD>

<TD width=54>一<FONT color="#e7f7fe">MON</FONT></TD>

<TD width=54>二<FONT color="#e7f7fe">TUE</FONT></TD>

<TD width=54>三<FONT color="#e7f7fe">WED</FONT></TD>

<TD width=54>四<FONT color="#e7f7fe">THR</FONT></TD>

<TD width=54>五<FONT color="#e7f7fe">FRI</FONT></TD>

<TD width=54><FONT color=green>六</FONT><FONT color="#e7f7fe">SAT</FONT></TD></TR>

<SCRIPT language=JavaScript><!--

var gNum

for(i=0;i<6;i++) {

document.write('<tr align=center>')

for(j=0;j<7;j++) {

gNum = i*7+j

document.write('<td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()" onMouseDown="mDown(' + gNum +')"')

document.write('><font id="SD' + gNum +'" size=5 face="Arial Black"')

if(j == 0) document.write(' color=red')

if(j == 6)

if(i%2==1) document.write(' color=red')

else document.write(' color=green')

document.write(' TITLE=""> </font><br><font id="LD' + gNum + '" size=2 style="font-size:9pt;"> </font></td>')

}

document.write('</tr>')

}

//--></SCRIPT>

</TBODY></TABLE></TD>

<TD width=60 align=middle vAlign=top bgcolor="#CCCCCC"><BR><BR> <P> <TR> <TD align=right bgColor=#00aa55 colSpan=8><FONT color=#fffff face=宋体 id=GZ></FONT></TD></TR></TBODY></TABLE></TD></FORM></CENTER></TR></TBODY></TABLE></CENTER></BODY></HTML>

以上内容是小编精心整理的关于js农历算法 js 农历日期插件的精彩内容,好的文章需要你的分享,喜欢js农历算法 js 农历日期插件这篇精彩文章的,请您经常光顾吧!

上一篇:农历4月20号是什么星座的 农历4月20是新历几号

下一篇:更多运程

本文标题:js农历算法 js 农历日期插件

本文链接:http://m.shengxiao88.com/article/167552.html

使劲推荐

js农历算法 js 农历日期插件
js农历算法 js 农历日期插件

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于js农历算法 js 农历日期插件的...

农历4月20号是什么星座的 农历4月20是新历几号
农历4月20号是什么星座的 农历4月20是新历几号

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历4月20号是什么星座的 农历...

农历八月是什么月 农历八月黄道吉日查询2023
农历八月是什么月 农历八月黄道吉日查询2023

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历八月是什么月 农历八月黄...

97年农历6月出生的牛到底什么命 97年农历6月24生的女孩婚姻
97年农历6月出生的牛到底什么命 97年农历6月24生的女孩婚姻

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于97年农历6月出生的牛到底什么...

农历8月11什么星座? 农历8月11日黄道吉日查询
农历8月11什么星座? 农历8月11日黄道吉日查询

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历8月11什么星座? 农历8月11...

发表评论

相关推荐

农历9月初十是什么星座的 农历9月初十是阳历多少
农历9月初十是什么星座的 农历9月初十是阳历多少

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历9月初十是什么星座的 农历...

农历十九是什么日子 农历十九出生的人命运如何
农历十九是什么日子 农历十九出生的人命运如何

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历十九是什么日子 农历十九...

今天农历是多少 今天农历是多少号
今天农历是多少 今天农历是多少号

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于今天农历是多少 今天农历是多...

农历4月5日 农历4月5日是什么星座
农历4月5日 农历4月5日是什么星座

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历4月5日 农历4月5日是什么...

农历每年多少天,每个月多少天 农历每年多少天是怎样算出来的
农历每年多少天,每个月多少天 农历每年多少天是怎样算出来的

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于农历每年多少天,每个月多少天 ...

精选运程标签