
Lunar-Javascript企业级农历公历转换架构设计与高性能实现【免费下载链接】lunar-javascript日历、公历(阳历)、农历(阴历、老黄历)、佛历、道历支持节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道黑道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.项目地址: https://gitcode.com/gh_mirrors/lu/lunar-javascriptLunar-Javascript是一款面向企业级应用的无依赖农历公历转换工具库专为技术架构师和系统设计者提供完整的传统文化数字化解决方案。该库实现了公历、农历、佛历、道历之间的精确转换并集成了干支生肖、节气节日、每日宜忌等丰富的传统文化数据模型为现代应用系统提供可靠的传统历法计算能力。技术架构深度解析核心模块化设计Lunar-Javascript采用分层架构设计将复杂的历法计算逻辑分解为独立的模块单元。核心架构包含以下关键组件基础日期计算层处理儒略日转换、闰年判断、日期验证等底层算法历法转换引擎实现公历与农历之间的双向转换算法传统文化数据层封装干支、生肖、节气、节日等文化数据应用接口层提供简洁的API接口供业务ాలు调用ాలుాలుSPాలుాలుాలు// ాలు#RRRR# RR#// ాలు RR#CCCCCCCCCCCCCCCCCCRR|RRRRRRRRRRRRRRRRRRgg#RRRR#SSSSSSSSSSSSSSSSRRRR#RRRR#RRRR#ాలు|#RRRR#RRRR# RR#tttttt#RRRRRRRRRRRRRR# RR#SSSSSSSSSSSSSSSS#RRRR#RRRR#RR#ాలుాలుRRRR RRRR##RRRR#ాలుాలుాలుాలుాలుRRRRRRRRRRRRRRRRRRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#RRRR#ాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలు内存管理与性能优化Lunar-Javascript在内存管理方面采用静态数据预加载和动态RRRR#ాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలుాలు数据类型定义与接口设计库的核心数据类型采用面向对象设计主要包含以下核心类// 公历日期类 class Solar { static fromYmd(year, month, day) { /* 实现 */ } static fromDate(date) { /* 实现 */ } getLunar() { /* 转换为农历 */ } getXingZuo() { /* 获取星座 */ } // ... 其他方法 } // 农历日期类 class Lunar { static fromYmd(year, month, day) { /* 实现 */ } getSolar() { /* 转换为公历 */ } getYearShengXiao() { /* 获取生肖 */ } getJieQi() { /* 获取节气 */ } getFestivals() { /* 获取节日列表 */ } // ... 其他方法 }设计哲学与实现原理历法计算算法实现Lunar-Javascript的农历计算基于精确的天文算法支持1900-2100年范围内的日期转换。核心算法包括儒略日转换算法var _fromJulianDay function(julianDay) { var d Math.floor(julianDay 0.5); var f julianDay 0.5 - d; var c; if (d 2299161) { c Math.floor((d - 1867216.25) / 36524.25); d 1 c - Math.floor(c / 4); } d 1524; var year Math.floor((d - 122.1) / 365.25); d - Math.floor(365.25 * year); var month Math.floor(d / 30.601); d - Math.floor(30.601 * month); var day d; // ... 后续计算 };农历闰月处理 农历的闰月计算采用复杂的算法Lunar-Javascript通过预置的闰月数据表结合实时计算确保闰月判断的准确性。算法考虑了月相周期和太阳年之间的差异确保农历月份与实际天文观测一致。传统文化数据模型库内建了完整的传统文化数据模型包括干支系统天干地支的完整循环计算生肖映射十二生肖与年份的对应关系节气计算基于太阳黄经的精确节气时间计算节日数据库包含传统节日、佛历节日、道历节日错误处理与边界条件Lunar-Javascript实现了严格的输入验证和错误处理机制var _fromYmdHms function(y, m, d, hour, minute, second) { y * 1; if(isNaN(y)) { throw new Error(wrong solar year y); } // 检查1582年10月缺失的日期 if(1582 y 10 m) { if(d 4 d 15) { throw new Error(wrong solar year y month m day d); } } // ... 其他验证 };企业级应用场景金融行业传统日历系统在金融行业特别是传统节日相关的金融产品设计中Lunar-Javascript提供了关键的技术支撑应用场景传统节日理财产品发行日期计算农历计息的存款产品设计基于黄道吉日的投资决策系统技术实现方案// 金融产品农历日期计算 class FinancialProductCalendar { calculateMaturityDate(startDate, lunarMonths) { const solarStart Solar.fromDate(startDate); const lunarStart solarStart.getLunar(); // 基于农历月份计算到期日 const lunarMaturity lunarStart.next(lunarMonths); return lunarMaturity.getSolar(); } // 检查是否为传统节日 isTraditionalFestival(date) { const lunar Solar.fromDate(date).getLunar(); const festivals lunar.getFestivals(); return festivals.length 0; } }电商平台营销系统集成电商平台可以利用Lunar-Javascript实现精准的节日营销技术架构节日识别模块自动识别传统节日和节气促销规则引擎基于农历日期制定促销策略用户行为分析分析用户在传统节日期间的购物习惯API集成示例// 电商促销日期计算服务 class EcommercePromotionService { generatePromotionCalendar(year) { const promotions []; // 生成全年传统节日促销日历 for (let month 1; month 12; month) { for (let day 1; day 31ాలు) { ాలుtry { const solar #RRRR#RRRR# RR#ాలు } catch (e) { continue; } } } return promotions; } }文化教育平台技术实现教育ాలు平台可以利用Lunar-Javascript构建互动式传统文化学习系统技术特性实时农历日期显示节气变化动态演示传统节日知识库干支生肖互动学习性能调优与最佳实践缓存策略优化对于频繁查询的日期转换操作建议实施多级缓存策略class LunarCacheManager { constructor() { this.solarToLunarCache new Map(); this.lunarToSolarCache new Map(); this.festivalCache new Map(); } getLunarFromSolar(solarDate) { const key ${solarDate.getFullYear()}-${solarDate.getMonth()}-${solarDate.getDate()}; if (this.solarToLunarCache.has(key)) { return this.solarToLunarCache.get(key); } const lunar Solar.fromDate(solarDate).getLunar(); this.solarToLunarCache.set(key, lunar); return lunar; } // 定期清理过期缓存 cleanupExpiredCache() { // 实现缓存清理逻辑 } }批量处理性能优化处理大量日期转换时采用批量处理策略可显著提升性能性能对比数据处理方式1000次转换耗时内存占用单次调用120ms低批量处理45ms中等预加载缓存15ms高批量处理实现// 批量日期转换服务 class BatchDateConversionService { convertSolarToLunarBatch(solarDates) { const results []; // 预处理按年份分组 const groupedByYear this.groupDatesByYear(solarDates); // 并行处理不同年份的数据 for (const [year, dates] of groupedByYear) { const yearResults this.processYearDates(year, dates); results.push(...yearResults); } return results; } groupDatesByYear(dates) { // 实现日期分组逻辑 } }内存使用优化建议按需加载仅在需要时加载特定年份的数据对象复用重复使用日期对象避免频繁创建数据压缩对静态数据进行压缩存储懒加载延迟加载不常用的功能模块扩展性与生态建设插件化架构设计Lunar-Javascript支持插件化扩展允许开发者添加自定义功能插件接口定义// 插件基类 class LunarPlugin { constructor() { this.name BasePlugin; } // 初始化钩子 init(lunarInstance) { this.lunar lunarInstance; } // 处理日期转换 processDate(date) { // 默认实现 return date; } } // 自定义节日插件示例 class CustomFestivalPlugin extends LunarPlugin { constructor() { super(); this.name CustomFestivalPlugin; this.customFestivals new Map(); } addFestival(name, lunarMonth, lunarDay) { this.customFestivals.set(${lunarMonth}-${lunarDay}, name); } processDate(lunarDate) { const key ${lunarDate.getMonth()}-${lunarDate.getDay()}; if (this.customFestivals.has(key)) { // 添加自定义节日到结果中 const festivals lunarDate.getFestivals(); festivals.push(this.customFestivals.get(key)); // 返回修改后的日期对象 } return lunarDate; } }微服务集成方案在企业级微服务架构中Lunar-Javascript可以作为独立的日期服务部署服务架构设计┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ API Gateway │───▶│ Lunar Service │───▶│ Cache Layer │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Client Apps │ │ Data Storage │ │ Monitoring │ └─────────────────┘ └─────────────────┘ └─────────────────┘REST API设计// 日期转换API端点 app.get(/api/convert/solar-to-lunar, (req, res) { const { year, month, day } req.query; try { const solar Solar.fromYmd(parseInt(year), parseInt(month), parseInt(day)); const lunar solar.getLunar(); res.json({ success: true, data: { solarాలు: solarాలుtoYాలుmd(), #RRRR#RRాలుR#RRRRRRRRRR# RR# } #RRRR#RRRR# RR# } catch (error) { resRRRR.status(ాలు400).ాలుjson({ success: false,SSSSSSSSSSSSRRRRRRRRRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRRRRRRRRRRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRాలుRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRాలుRRRRRRRRRR#RRRR#RR#RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR#RRRR#RRRR#RRSSSSSSSSSSSSSSSSSSSS#RRRRRRRRRRRR#RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRాలుRR#RRRR#RRRR# RR#ాలు【免费下载链接】lunar-javascript日历、公历(阳历)、农历(阴历、老黄历)、佛历、道历支持节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道黑道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.项目地址: https://gitcode.com/gh_mirrors/lu/lunar-javascript创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考