文章分类 Classification
js阳历转阴历
稿件来源: 阳光企业网站管理系统 撰稿作者: 太阳光 发表日期: 2015-02-06 阅读次数: 322 查看权限: 游客查看
js阳历转阴历
<script type="text/javascript"> function getOldCalendar(ymd){ var lunarInfo = new Array( 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 ); //====================================== 传回农历 y年的总天数 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); } //====================================== 传回农历 y年闰月的天数 function leapDays(y) { return leapMonth(y) ? ((lunarInfo[y - 1900] & 0x10000) ? 30 : 29) : 0; } //====================================== 传回农历 y年闰哪个月 1-12 , 没闰传回 0 function leapMonth(y) { return lunarInfo[y - 1900] & 0xf; } //====================================== 传回农历 y年m月的总天数 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); var offset = (objDate - baseDate) / 86400000; for (i = 1900; i < 2050 && offset > 0; i++) { temp = lYearDays(i); offset -= temp; } if (offset < 0) { offset += temp; i--; } this.year = i; 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 (offset == 0 && leap > 0 && i == leap + 1){ if (this.isLeap) { this.isLeap = false; } else { this.isLeap = true; --i; } } if (offset < 0) { offset += temp; --i; } this.month = i; this.day = offset + 1 } return new Lunar(ymd); } var d = getOldCalendar(new Date()); alert(d.year + "-" + d.month + "-" + d.day); </script>
关键词: javascript,阴历,农历 编辑时间: 2015-02-06 14:42:53
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
0%(0)
0%(0)
- 暂无评论
文章图片 article Pictrue
网友评论