var LunarDate = { madd: new Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334), HsString: '甲乙丙丁戊己庚辛壬癸', EbString: '子丑寅卯辰巳午未申酉戌亥', NumString: "一二三四五六七八九十", MonString: "正二三四五六七八九十冬腊", CalendarData: new Array(0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957, 0x2092F, 0x497, 0x60C96, 0xD4A, 0xEA5, 0x50DA9, 0x5AD, 0x2B6, 0x3126E, 0x92E, 0x7192D, 0xC95, 0xD4A, 0x61B4A, 0xB55, 0x56A, 0x4155B, 0x25D, 0x92D, 0x2192B, 0xA95, 0x71695, 0x6CA, 0xB55, 0x50AB5, 0x4DA, 0xA5B, 0x30A57, 0x52B, 0x8152A, 0xE95, 0x6AA, 0x615AA, 0xAB5, 0x4B6, 0x414AE, 0xA57, 0x526, 0x31D26, 0xD95, 0x70B55, 0x56A, 0x96D, 0x5095D, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B, 0xA164B, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, 0x5092F, 0x497, 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), Year: null, Month: null, Day: null, TheDate: null, GetBit: function(m, n){ return (m >> n) & 1; }, e2c: function(){ this.TheDate = (arguments.length != 3) ? new Date(): new Date(arguments[0], arguments[1], arguments[2]); var total, m, n, k; var isEnd = false; var tmp = this.TheDate.getFullYear(); total = (tmp - 1921) * 365 + Math.floor((tmp - 1921) / 4) + this.madd[this.TheDate.getMonth()] + this.TheDate.getDate() - 38; if (this.TheDate.getYear() % 4 == 0 && this.TheDate.getMonth() > 1) { total++; } for (m = 0; ; m++) { k = (this.CalendarData[m] < 0xfff) ? 11: 12; for (n = k; n >= 0; n--) { if (total <= 29 + this.GetBit(this.CalendarData[m], n)) { isEnd = true; break; } total = total - 29 - this.GetBit(this.CalendarData[m], n); } if (isEnd) break; } this.Year = 1921 + m; this.Month = k - n + 1; this.Day = total; if (k == 12) { if (this.Month == Math.floor(this.CalendarData[m] / 0x10000) + 1) { this.Month = 1 - this.Month; } if (this.Month > Math.floor(this.CalendarData[m] / 0x10000) + 1) { this.Month--; } } }, GetcDateString: function(){ var tmp = ""; tmp += this.HsString.charAt((this.Year - 4) % 10); tmp += this.EbString.charAt((this.Year - 4) % 12); tmp += "年 "; if (this.Month < 1) { tmp += "(闰)"; tmp += this.MonString.charAt(-this.Month - 1); } else { tmp += this.MonString.charAt(this.Month - 1); } tmp += "月"; tmp += (this.Day < 11) ? "初": ((this.Day < 20) ? "十": ((this.Day < 30) ? "廿": "三十")); if (this.Day % 10 != 0 || this.Day == 10) { tmp += this.NumString.charAt((this.Day - 1) % 10); } return tmp; }, GetLunarDay: function(solarYear, solarMonth, solarDay) { if (solarYear < 1921 || solarYear > 2020) { return ""; } else { solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1): 11; this.e2c(solarYear, solarMonth, solarDay); return this.GetcDateString(); } } };
调用方法:
window.onload = function(){ document.write('2014-04-01 农历'+LunarDate.GetLunarDay(2014, 4, 1)); };
输出:
2014-04-01 农历甲午年 三月初二
相关推荐
公历(阳历) 农历(阴历)转换,支持时间段从 1900-2100 如果需要更长的时间段,利用 generate.htm 生成的数据即可。 支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift,golang 等...
调用简单,下拉传一日期加类型即可转换日期的类型,如: CalConvert(new Date(2010,3,19), false) //农历转换为公历 CalConvert(new Date(2010,3,19), true)//公历转换成农历
日历、公历(阳历)、农历(阴历、老黄历)、佛历lunar-javascript-master.zip
为解决Web前端的农历转换,现将相关的前端转换代码共享给大家,JavaScript公历转换、农历转换、阴历转换、阳历转换
公历(阳历)农历(阴历)转换,支持时间段从1900-2100如果需要更长的时间段,利用generate.htm生成的数据即可。支持各种编程语言C#,java,Objective-C,php,Python,javascript(nodejs),C / C ++,ruby,...
RainyxDate 1.0 一个获取日期(公历、农历)的js小插件 一、用法: 1、引入: [removed][removed] 2、调用: JS调用: 此段js调用代码最好放在显示日期的页面里,不要放在外调的js文件中,否则ie6显示会有问题 ...
js类,可以用于微信小程序中,也可以h5中,比较简单直接调用即可
公历农历(阳历阴历)转换库 支持esmodule 1900 年至 2100 年公历、农历互转 Solar : 公历 阳历 Lunar : 农历 阴历 支持年份:1900-2100 用法: import solarLunar from 'solarlunar-es'; const solar2lunarData = ...
您也可以将其用作太阳历(公历)vue-lunar-calendar农历的Vue组件。 使用Moment.js进行日期操作。 这是韩国的农历。 它与中国农历不同,您也可以将其用作太阳历(在线日历)。在线演示演示安装npm install vue-lunar...
Typescript农历库,支持各类黄历数据查询,如八字四柱、阴历、神煞宜忌、建除十二神、胎神占方、五行纳音等,数据基于《协纪辨方书》、“香港天文台-公历与农历日期对照表“,专业可靠。支持自定义插件。lunisolar ...
无第三方依赖的公历(阳历)和农历(阴历、老黄历)工具,支持节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌
:face_blowing_a_kiss: 支持农历,节气,假日显示;:smiling_face_with_heart-eyes: 原生 js 开发,无第三方库;:face_with_tears_of_joy: 支持现代浏览器(IE >= 9);:thumbs_up: 感谢安装npmnpm i vue-lunar-...
一个易于将农历转换成公历的程序。 也可以将结果导出到.ics文件。 我制作了一个程序,可以一次搜索很多年并将其导出为逐个搜索每年的定期农历生日并把它们放在日历中很烦人。 公历中的农历日期每年都会更改,因此...
KendoUI阳历,波斯语,回历(伊斯兰)日历,DatePicker,TimePicker تقویمشمسی,قمریومیلادیبههمراهانتخابگرتاریخوزمان这个项目是一个分支来自: : 这个项目需要...
2012-06-11 21:10 9,654 用单片机实现公历到农历换算的新方法.zip 2012-06-11 21:08 2,318 用英文单词模拟数学计算代码.txt 2012-06-11 21:06 13,654 男生不应该误解女生的15个地方.docx 2012-06-11 21:34 16,410 ...