Javascript获取当前日期的农历日期代码


Posted in Javascript onOctober 08, 2014

JavaScript代码

/*设置农历日期*/

var CalendarData=new Array(100);

var madd=new Array(12);

var numString="一二三四五六七八九十";

var monString="正二三四五六七八九十冬腊";

var cYear,cMonth,cDay,TheDate;

// 农历每月只能是29或30天,一年用12(或13)个二进制位表示,从高到低,对应位为1表示30天,否则29天

CalendarData = new Array(0xA4B,0x5164B,0x6A5,0x6D4,0x415B5,0x2B6,0×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×957,0x5092F,0×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;

function GetBit(m,n){

return (m>>n)&1;

}

function e2c(){

TheDate= (arguments.length!=3) ? new Date() : new Date(arguments[0],arguments[1],arguments[2]);

var total,m,n,k;

var isEnd=false;

var tmp=TheDate.getYear();

if(tmp<1900){

tmp+=1900;

}

total=(tmp-1921)*365+Math.floor((tmp-1921)/4)+madd[TheDate.getMonth()]+TheDate.getDate()-38;

if(TheDate.getYear()%4==0&&TheDate.getMonth()>1) {

total++;

}

for(m=0;;m++){

k=(CalendarData[m]<0xfff)?11:12;

for(n=k;n>=0;n--){

if(total<=29+GetBit(CalendarData[m],n)){

isEnd=true; break;

}

total=total-29-GetBit(CalendarData[m],n);

}

if(isEnd) break;

}

cYear=1921 + m;

cMonth=k-n+1;

cDay=total;

if(k==12){

if(cMonth==Math.floor(CalendarData[m]/0x10000)+1){

cMonth=1-cMonth;

}

if(cMonth>Math.floor(CalendarData[m]/0x10000)+1){

cMonth--;

}

}

}

function GetcDateString(){

var tmp="";

if(cMonth<1){

tmp+="(闰)";

tmp+=monString.charAt(-cMonth-1);

}else{

tmp+=monString.charAt(cMonth-1);

}

tmp+="月";

tmp+=(cDay<11)?"初":((cDay<20)?"十":((cDay<30)?"廿":"三十"));

if (cDay%10!=0||cDay==10){

tmp+=numString.charAt((cDay-1)%10);

}

return tmp;

}

function GetLunarDay(solarYear,solarMonth,solarDay){

//solarYear = solarYear<1900?(1900+solarYear):solarYear;

if(solarYear<1921 || solarYear>2020){

return "";

}else{

solarMonth = (parseInt(solarMonth)>0) ? (solarMonth-1) : 11;

e2c(solarYear,solarMonth,solarDay);

return GetcDateString();

}

}

var D=new Date();

var yy=D.getFullYear();

var mm=D.getMonth()+1;

var dd=D.getDate();

var ww=D.getDay();

var ss=parseInt(D.getTime() / 1000);

if (yy<100) yy="19"+yy;

function showCal(){

var nongli = GetLunarDay(yy,mm,dd);

return nongli;

}

/*农历设置end*/

调用

$('#tianqi h5').text(showCal());

效果:

Javascript获取当前日期的农历日期代码

九月十一就是当天的农历日期

Javascript 相关文章推荐
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
js中window.open()的所有参数详细解析
Jan 09 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
js实现select跳转功能代码
Oct 22 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
深入了解js原型模式
May 30 Javascript
如何利用node转发请求详解
Sep 17 Javascript
javascript中通过arguments参数伪装方法重载
Oct 08 #Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 #Javascript
javascript学习笔记(八)正则表达式
Oct 08 #Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 #Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 #Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 #Javascript
JavaScript中获取高度和宽度函数总结
Oct 08 #Javascript
You might like
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
js Dialog 实践分享
2012/10/22 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
node.js实现端口转发
2016/04/14 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
Python 和 JS 有哪些相同之处
2017/11/23 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
党员公开承诺书范文
2014/03/25 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
家长对学生的评语
2014/04/18 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
电力工程合作意向书
2015/05/11 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL