js输出农历、阳历、年、月、周示例代码
复制代码代码如下所示:<!——TD {字体大小:9pt;字体:宋体}
-->
无功lunarinfo =新的数组(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)
var动物=新数组()
var =新数组()
var =新数组(子
var现在为空;
var = null;
var = null;
var = null;
功能getdatelist(YY、MM、DD){
如果(YY){
现在=新日期(YY,mm,DD);
其他{ }
现在=新日期();
}
SY = now.getfullyear();
SM = now.getmonth();
SD = now.getdate();
返回setcalendar();
}
输入偏移量返回0 =天干地支周期。
函数循环(返回){ 12({ 10)}
返回总的y年数。
功能lyeardays(Y){
var I,总和= 348
对(我= 0x8000;我> > > 0x8;我= 1)=总和(lunarinfo { }我y-1900)1:0
返回(和+ leapdays(Y))
}
农历闰年
功能leapdays(Y){
如果(闰月(y)()返回(lunarinfo { y-1900 } 0x10000)30:29)
否则返回(0)
}
/ / = = = =返回月球每月1-12没有飞跃,飞跃到0
功能闰月(Y){ return(lunarinfo { y-1900 } 0xf)}
/ / ======================================返回月球的y年m总月数
功能monthdays(Y,M){ return((lunarinfo { y-1900 }(0x10000 > > m))30:29 })}
计算农历、传入日期对象返回的农历日期对象。
对象with.year.month /属性。day.isleap.yearcyl.daycyl.moncyl
功能的月球(objdate){
var I,跳跃= 0,温度= 0
无功basedate =新的日期(1900,0,31)
无功补偿=(objdate - basedate) / 86400000
this.daycyl =偏移±40
this.moncyl = 14
为(i = 1900;I0;i++){
温度= lyeardays(我)
偏移量=温度
this.moncyl = 12
}
如果(偏移< 0){
偏移量=温度;
我--;
this.moncyl = 12
}
this.year =我
this.yearcyl = i-1864
飞跃=闰月(我) /在一个月内插
this.isleap = false
为(i = 1;I0;i++){
月份
如果(飞跃> 0我= =(跳跃+ 1)这。IsLeap = = false)
{我;this.isleap =真;温度= leapdays(本年);}
其他的
{温度= monthdays(this.year,I);}
提/跳
如果(这。IsLeap = =真我= =(跳跃+ 1))this.isleap = false
偏移量=温度
如果(this.isleap = = false)+ this.moncyl
}
如果(= = 0跳跃> 0 i =跳跃+ 1)
如果(这。IsLeap)
{ this.isleap = false;}
其他的
{ this.isleap = true;--我;这moncyl;}。
如果(偏移量<0){偏移=温度;——我;这moncyl;}。
this.month =我
this.day =偏移±1
}
功能收到录取通知时间(){
var =;
如果(现在。getday)(CL = = = 0);
如果(现在。getday)(CL = = = 6);
返回(CL + + +(SM + 1)+ ++ + SD +四月);
}
工作日(){
var =新数组(星期日
var =;
如果(现在。getday)(CL = = = 0);
如果(现在。getday)(CL = = = 6);
返回(Cl-)天(} { now.getday +);
}
中国日期
功能cday(M,D){
无功nstr1 =新的数组(天','一','二'、三、四、五、六、七、八、九、十);
无功nstr2 =新的数组(早','十',' 20 30 ',');
VaR的;
如果(m>10){ =十+ nstr1 { } { } M-10其他nstr1 { } } = m的+ = '月'
开关(d){
案例10:s =突破第十;
案例20:s=二十;
案例30:s=三十;
默认值:S = nstr2 { math.floor(D / 10)};+ = { 10 } nstr1 %;
}
返回(s);
}
功能solarday1(){
无功sdobj =新的日期(SY,SM,SD);
无功ldobj =新的月球(sdobj);
var =;
TT ={功+动物{ }(sy-4)% 12 } ++周期(ldobj。moncyl)+周期(ldobj。daycyl + +)++天;
返回(CL + TT +);
}
功能solarday2(){
无功sdobj =新的日期(SY,SM,SD);
无功ldobj =新的月球(sdobj);
var =;
BB +(CLD { }。IsLeap ' / /农历闰年':')+ CLD { }。1月++ CLD {d} 1d +四月。
VaR TT =周期(sy-1900 + 36)+ + cday(ldobj.month,ldobj。天)年;
返回(CL + TT +);
}
功能solarday3(){
无功sterminfo =新的数组(021208424676383685337107014128867150921173149195551218072240693263343285989308563331033353350375494397447419210440795462224483532504758)。
VaR个节气=新的数组(冷
无功lftv =新的阵列(0101×春节
无功sftv =新的阵列(0101×元旦
0401愚人节
0801建军节
1006届老年节
无功sdobj =新的日期(SY,SM,SD);
无功ldobj =新的月球(sdobj);
VaR LDPOS =新阵(3)
功节= '',节气= '',solarfestival = '',lunarfestival = '',TMP1、TMP2;
中秋节
对(我在lftv)
如果((lftv {我}。比赛^( / / D { 2 })(。{ 2 })({ / / * })(1){ $ /))
TMP1 =数(regexp。1美元)-ldobj.month
TMP2 =数(regexp。2美元)-ldobj.day
如果(TMP1 = = 0 TMP2 = = 0 = 4美元)lunarfestival正则表达式。
}
在日历/假日里
对(我在sftv)
如果((sftv {我}。比赛^( / / D { 2 })( / D { 2 })({ / / * })(1){ $ /))
TMP1 =数(regexp。1美元)-(SM 1)
TMP2 =数(regexp。2美元)- SD
如果(TMP1 = = 0 TMP2 = = 0 = 4美元)solarfestival正则表达式。
}
/节气
TMP1 =新的日期((31556925974.7 *(sy-1900)+ sterminfo { SM * 2 + 1 }×60000)+ date.utc(1900,0,6,2,5))
TMP2 = tmp1.getutcdate()
如果(TMP2 = = SD)个节气节气= { SM * 2 + 1 }
TMP1 =新的日期((31556925974.7 *(sy-1900)+ sterminfo { 2 } SM××60000)+ date.utc(1900,0,6,2,5))
TMP2 = tmp1.getutcdate()
如果(TMP2 = = SD)节气= { 2 }个节气SM
如果(节气= = = = = =solarfestivallunarfestival)
节日=;
其他的
节日=+
'' +节气++ + + solarfestival lunarfestival ++
';
var =;
返回(节日+ +);
}
功能setcalendar(){
html =;
html;
(HTML + =收到录取通知时间)+(+)周日;
html;
html;
HTML + = solarday1();
html;
Html+=solarDay2 ();
html;
HTML + = solarday3();
html;
返回HTML;
}
无功temdate =新的日期();
var m = parseInt(temdate.getdate());
var xxx = getdatelist(temdate.getfullyear(),(M 31temdate.getmonth():temdate.getmonth()+ 1),M 31m:0);
$(文档)Ready(函数(){)
$(# SSS)。Html(XXX);
})