
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),僅供參考