級(jí)農(nóng)歷公歷轉(zhuǎn)換架構(gòu)設(shè)計(jì)與高性能實(shí)現(xiàn))
Lunar-Javascript企業(yè)級(jí)農(nóng)歷公歷轉(zhuǎn)換架構(gòu)設(shè)計(jì)與高性能實(shí)現(xiàn)【免費(fèi)下載鏈接】lunar-javascript日歷、公歷(陽(yáng)歷)、農(nóng)歷(陰歷、老黃歷)、佛歷、道歷支持節(jié)假日、星座、儒略日、干支、生肖、節(jié)氣、節(jié)日、彭祖百忌、每日宜忌、吉神宜趨兇煞宜忌、吉神(喜神/福神/財(cái)神/陽(yáng)貴神/陰貴神)方位、胎神方位、沖煞、納音、星宿、八字、五行、十神、建除十二值星、青龍名堂等十二神、黃道黑道日及吉兇等。lunar is a calendar library for Solar and Chinese Lunar.項(xiàng)目地址: https://gitcode.com/gh_mirrors/lu/lunar-javascriptLunar-Javascript是一款面向企業(yè)級(jí)應(yīng)用的無(wú)依賴(lài)農(nóng)歷公歷轉(zhuǎn)換工具庫(kù)專(zhuān)為技術(shù)架構(gòu)師和系統(tǒng)設(shè)計(jì)者提供完整的傳統(tǒng)文化數(shù)字化解決方案。該庫(kù)實(shí)現(xiàn)了公歷、農(nóng)歷、佛歷、道歷之間的精確轉(zhuǎn)換并集成了干支生肖、節(jié)氣節(jié)日、每日宜忌等豐富的傳統(tǒng)文化數(shù)據(jù)模型為現(xiàn)代應(yīng)用系統(tǒng)提供可靠的傳統(tǒng)歷法計(jì)算能力。技術(shù)架構(gòu)深度解析核心模塊化設(shè)計(jì)Lunar-Javascript采用分層架構(gòu)設(shè)計(jì)將復(fù)雜的歷法計(jì)算邏輯分解為獨(dú)立的模塊單元。核心架構(gòu)包含以下關(guān)鍵組件基礎(chǔ)日期計(jì)算層處理儒略日轉(zhuǎn)換、閏年判斷、日期驗(yàn)證等底層算法歷法轉(zhuǎn)換引擎實(shí)現(xiàn)公歷與農(nóng)歷之間的雙向轉(zhuǎn)換算法傳統(tǒng)文化數(shù)據(jù)層封裝干支、生肖、節(jié)氣、節(jié)日等文化數(shù)據(jù)應(yīng)用接口層提供簡(jiǎn)潔的API接口供業(yè)務(wù)???調(diào)用??????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#?????????????????????????????????內(nèi)存管理與性能優(yōu)化Lunar-Javascript在內(nèi)存管理方面采用靜態(tài)數(shù)據(jù)預(yù)加載和動(dòng)態(tài)RRRR#????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????數(shù)據(jù)類(lèi)型定義與接口設(shè)計(jì)庫(kù)的核心數(shù)據(jù)類(lèi)型采用面向?qū)ο笤O(shè)計(jì)主要包含以下核心類(lèi)// 公歷日期類(lèi) class Solar { static fromYmd(year, month, day) { /* 實(shí)現(xiàn) */ } static fromDate(date) { /* 實(shí)現(xiàn) */ } getLunar() { /* 轉(zhuǎn)換為農(nóng)歷 */ } getXingZuo() { /* 獲取星座 */ } // ... 其他方法 } // 農(nóng)歷日期類(lèi) class Lunar { static fromYmd(year, month, day) { /* 實(shí)現(xiàn) */ } getSolar() { /* 轉(zhuǎn)換為公歷 */ } getYearShengXiao() { /* 獲取生肖 */ } getJieQi() { /* 獲取節(jié)氣 */ } getFestivals() { /* 獲取節(jié)日列表 */ } // ... 其他方法 }設(shè)計(jì)哲學(xué)與實(shí)現(xiàn)原理歷法計(jì)算算法實(shí)現(xiàn)Lunar-Javascript的農(nóng)歷計(jì)算基于精確的天文算法支持1900-2100年范圍內(nèi)的日期轉(zhuǎn)換。核心算法包括儒略日轉(zhuǎn)換算法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; // ... 后續(xù)計(jì)算 };農(nóng)歷閏月處理 農(nóng)歷的閏月計(jì)算采用復(fù)雜的算法Lunar-Javascript通過(guò)預(yù)置的閏月數(shù)據(jù)表結(jié)合實(shí)時(shí)計(jì)算確保閏月判斷的準(zhǔn)確性。算法考慮了月相周期和太陽(yáng)年之間的差異確保農(nóng)歷月份與實(shí)際天文觀測(cè)一致。傳統(tǒng)文化數(shù)據(jù)模型庫(kù)內(nèi)建了完整的傳統(tǒng)文化數(shù)據(jù)模型包括干支系統(tǒng)天干地支的完整循環(huán)計(jì)算生肖映射十二生肖與年份的對(duì)應(yīng)關(guān)系節(jié)氣計(jì)算基于太陽(yáng)黃經(jīng)的精確節(jié)氣時(shí)間計(jì)算節(jié)日數(shù)據(jù)庫(kù)包含傳統(tǒng)節(jié)日、佛歷節(jié)日、道歷節(jié)日錯(cuò)誤處理與邊界條件Lunar-Javascript實(shí)現(xiàn)了嚴(yán)格的輸入驗(yàn)證和錯(cuò)誤處理機(jī)制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); } } // ... 其他驗(yàn)證 };企業(yè)級(jí)應(yīng)用場(chǎng)景金融行業(yè)傳統(tǒng)日歷系統(tǒng)在金融行業(yè)特別是傳統(tǒng)節(jié)日相關(guān)的金融產(chǎn)品設(shè)計(jì)中Lunar-Javascript提供了關(guān)鍵的技術(shù)支撐應(yīng)用場(chǎng)景傳統(tǒng)節(jié)日理財(cái)產(chǎn)品發(fā)行日期計(jì)算農(nóng)歷計(jì)息的存款產(chǎn)品設(shè)計(jì)基于黃道吉日的投資決策系統(tǒng)技術(shù)實(shí)現(xiàn)方案// 金融產(chǎn)品農(nóng)歷日期計(jì)算 class FinancialProductCalendar { calculateMaturityDate(startDate, lunarMonths) { const solarStart Solar.fromDate(startDate); const lunarStart solarStart.getLunar(); // 基于農(nóng)歷月份計(jì)算到期日 const lunarMaturity lunarStart.next(lunarMonths); return lunarMaturity.getSolar(); } // 檢查是否為傳統(tǒng)節(jié)日 isTraditionalFestival(date) { const lunar Solar.fromDate(date).getLunar(); const festivals lunar.getFestivals(); return festivals.length 0; } }電商平臺(tái)營(yíng)銷(xiāo)系統(tǒng)集成電商平臺(tái)可以利用Lunar-Javascript實(shí)現(xiàn)精準(zhǔn)的節(jié)日營(yíng)銷(xiāo)技術(shù)架構(gòu)節(jié)日識(shí)別模塊自動(dòng)識(shí)別傳統(tǒng)節(jié)日和節(jié)氣促銷(xiāo)規(guī)則引擎基于農(nóng)歷日期制定促銷(xiāo)策略用戶行為分析分析用戶在傳統(tǒng)節(jié)日期間的購(gòu)物習(xí)慣API集成示例// 電商促銷(xiāo)日期計(jì)算服務(wù) class EcommercePromotionService { generatePromotionCalendar(year) { const promotions []; // 生成全年傳統(tǒng)節(jié)日促銷(xiāo)日歷 for (let month 1; month 12; month) { for (let day 1; day 31???) { ???try { const solar #RRRR#RRRR# RR#??? } catch (e) { continue; } } } return promotions; } }文化教育平臺(tái)技術(shù)實(shí)現(xiàn)教育???平臺(tái)可以利用Lunar-Javascript構(gòu)建互動(dòng)式傳統(tǒng)文化學(xué)習(xí)系統(tǒng)技術(shù)特性實(shí)時(shí)農(nóng)歷日期顯示節(jié)氣變化動(dòng)態(tài)演示傳統(tǒng)節(jié)日知識(shí)庫(kù)干支生肖互動(dòng)學(xué)習(xí)性能調(diào)優(yōu)與最佳實(shí)踐緩存策略優(yōu)化對(duì)于頻繁查詢的日期轉(zhuǎn)換操作建議實(shí)施多級(jí)緩存策略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; } // 定期清理過(guò)期緩存 cleanupExpiredCache() { // 實(shí)現(xiàn)緩存清理邏輯 } }批量處理性能優(yōu)化處理大量日期轉(zhuǎn)換時(shí)采用批量處理策略可顯著提升性能性能對(duì)比數(shù)據(jù)處理方式1000次轉(zhuǎn)換耗時(shí)內(nèi)存占用單次調(diào)用120ms低批量處理45ms中等預(yù)加載緩存15ms高批量處理實(shí)現(xiàn)// 批量日期轉(zhuǎn)換服務(wù) class BatchDateConversionService { convertSolarToLunarBatch(solarDates) { const results []; // 預(yù)處理按年份分組 const groupedByYear this.groupDatesByYear(solarDates); // 并行處理不同年份的數(shù)據(jù) for (const [year, dates] of groupedByYear) { const yearResults this.processYearDates(year, dates); results.push(...yearResults); } return results; } groupDatesByYear(dates) { // 實(shí)現(xiàn)日期分組邏輯 } }內(nèi)存使用優(yōu)化建議按需加載僅在需要時(shí)加載特定年份的數(shù)據(jù)對(duì)象復(fù)用重復(fù)使用日期對(duì)象避免頻繁創(chuàng)建數(shù)據(jù)壓縮對(duì)靜態(tài)數(shù)據(jù)進(jìn)行壓縮存儲(chǔ)懶加載延遲加載不常用的功能模塊擴(kuò)展性與生態(tài)建設(shè)插件化架構(gòu)設(shè)計(jì)Lunar-Javascript支持插件化擴(kuò)展允許開(kāi)發(fā)者添加自定義功能插件接口定義// 插件基類(lèi) class LunarPlugin { constructor() { this.name BasePlugin; } // 初始化鉤子 init(lunarInstance) { this.lunar lunarInstance; } // 處理日期轉(zhuǎn)換 processDate(date) { // 默認(rèn)實(shí)現(xiàn) return date; } } // 自定義節(jié)日插件示例 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)) { // 添加自定義節(jié)日到結(jié)果中 const festivals lunarDate.getFestivals(); festivals.push(this.customFestivals.get(key)); // 返回修改后的日期對(duì)象 } return lunarDate; } }微服務(wù)集成方案在企業(yè)級(jí)微服務(wù)架構(gòu)中Lunar-Javascript可以作為獨(dú)立的日期服務(wù)部署服務(wù)架構(gòu)設(shè)計(jì)┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ API Gateway │───?│ Lunar Service │───?│ Cache Layer │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Client Apps │ │ Data Storage │ │ Monitoring │ └─────────────────┘ └─────────────────┘ └─────────────────┘REST API設(shè)計(jì)// 日期轉(zhuǎn)換API端點(diǎn) 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#???【免費(fèi)下載鏈接】lunar-javascript日歷、公歷(陽(yáng)歷)、農(nóng)歷(陰歷、老黃歷)、佛歷、道歷支持節(jié)假日、星座、儒略日、干支、生肖、節(jié)氣、節(jié)日、彭祖百忌、每日宜忌、吉神宜趨兇煞宜忌、吉神(喜神/福神/財(cái)神/陽(yáng)貴神/陰貴神)方位、胎神方位、沖煞、納音、星宿、八字、五行、十神、建除十二值星、青龍名堂等十二神、黃道黑道日及吉兇等。lunar is a calendar library for Solar and Chinese Lunar.項(xiàng)目地址: https://gitcode.com/gh_mirrors/lu/lunar-javascript創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考