{"_id":"@builden/bd-lunar","_rev":"2-da678cde0e94520cf9d38ce912dddb35","name":"@builden/bd-lunar","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@builden/bd-lunar","version":"1.0.0","_id":"@builden/bd-lunar@1.0.0","maintainers":[{"name":"builden","email":"billdeng@qq.com"}],"dist":{"shasum":"80ecd015d75bacfaa03f57e6543b40127c707e46","tarball":"https://registry.npmjs.org/@builden/bd-lunar/-/bd-lunar-1.0.0.tgz","fileCount":33,"integrity":"sha512-Ps5Om6Cd9ESNRrlkqJsNDAgQisfEX+sYWWC30/URHEvviGVcbjAh48fo2UGH5uYaTNtvRE2budwjqDOfrtBtWw==","signatures":[{"sig":"MEUCIQCudHoW1UBwDuZ0zMSDRJdVd4qM/5c02XMWIUQ8hfedGwIgENbQR1iBnP6nBRNaM7k6LsklLSeE7P96GoppEOw6auc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./src/index.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"cf3a89135b18b2a54dcc5962f073449da937fed4","scripts":{"test":"bun test","build":"bun build.ts"},"_npmUser":{"name":"builden","email":"billdeng@qq.com"},"_npmVersion":"10.9.0","description":"农历工具包，提供阳历阴历转换、时辰计算等功能。","directories":{},"_nodeVersion":"23.1.0","dependencies":{"dayjs":"^1.11.10","lunar-typescript":"^1.8.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bd-lunar_1.0.0_1772605578400_0.4940227449194643","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"dependencies":{"dayjs":"^1.11.10","lunar-typescript":"^1.8.6"},"devDependencies":{"@types/bun":"^1.0.0","typescript":"^5.0.0"},"exports":{".":{"import":"./src/index.ts","require":"./dist/cjs/index.js","types":"./dist/index.d.ts"}},"main":"./dist/index.js","module":"./src/index.ts","name":"@builden/bd-lunar","publishConfig":{"access":"public"},"scripts":{"build":"bun build.ts","test":"bun test"},"type":"module","types":"./dist/index.d.ts","version":"1.0.1","_id":"@builden/bd-lunar@1.0.1","gitHead":"0a0dae0178e7c9d93e26df0d1dbd8f21c559a8b1","description":"农历工具包，提供阳历阴历转换、时辰计算等功能。","_nodeVersion":"23.1.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-SlWCZKm7wmU67YUaiAM+0uaPq/ttD7LoVypjYX4nRF/TOQ2dq2rvsdCzQiK8whC3UV4tV0FplYLUYcMDXJ5t2A==","shasum":"a822c2f09c573c7e28ce2d40f7d869b9e40be04d","tarball":"https://registry.npmjs.org/@builden/bd-lunar/-/bd-lunar-1.0.1.tgz","fileCount":28,"unpackedSize":72276,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDDD8f0fxb/D199xPvpvbtumfan4vmbxej0w34HaB9D0AIhAL6Cp77YfBI0Sm/1ECNZkALgH9+Xdzf6xHafjMK4Rpef"}]},"_npmUser":{"name":"builden","email":"billdeng@qq.com"},"directories":{},"maintainers":[{"name":"builden","email":"billdeng@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bd-lunar_1.0.1_1772633892117_0.649422201363816"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T06:26:18.302Z","modified":"2026-03-04T14:18:12.383Z","1.0.0":"2026-03-04T06:26:18.590Z","1.0.1":"2026-03-04T14:18:12.261Z"},"description":"农历工具包，提供阳历阴历转换、时辰计算等功能。","maintainers":[{"name":"builden","email":"billdeng@qq.com"}],"readme":"# @builden/bd-lunar\n\n农历工具包，提供阳历阴历转换、时辰计算等功能。\n\n## 安装\n\n```bash\nnpm install @builden/bd-lunar\n```\n\n## 功能\n\n### dayjs 插件\n\n```typescript\nimport dayjs from \"dayjs\";\nimport lunarPlugin from \"@builden/bd-lunar\";\n\ndayjs.extend(lunarPlugin);\n\ndayjs().format(\"YYYY年M月D日\");\n// => \"2026年3月4日\"\n```\n\n#### 格式化 Token\n\n| Token | 含义 | 示例输出 |\n|-------|------|----------|\n| `LY` | 农历年（带\"年\"后缀） | 二〇二六年 |\n| `Ly` | 农历年（不带\"年\"后缀） | 二〇二六 |\n| `LM` | 农历月（带\"月\"后缀） | `Lm` | 农历月（ 五月 |\n|不带\"月\"后缀） | 五 |\n| `LD` | 农历日（带\"日\"后缀） | 十五日 |\n| `Ld` | 农历日（不带\"日\"后缀） | 十五 |\n| `LH` | 时辰（带\"时\"后缀） | 寅时 |\n| `Lh` | 时辰（不带\"时\"后缀） | 寅 |\n| `LGZY` | 干支年（带\"年\"后缀） | 丙辰年 |\n| `LGZy` | 干支年（不带\"年\"后缀） | 丙辰 |\n\n**上下文感知**：当 token 后面跟着对应的后缀时，会自动使用不带后缀的版本，避免重复：\n\n```typescript\ndayjs('2024-06-15').format('YYYY年LM月LD日')\n// => \"2024年五月十五日\" （不是 \"2024年五月月十五日\"）\n\ndayjs('2024-06-15').format('YYYY年LY年')\n// => \"2024年二〇二四年\" （不是 \"2024年二〇二四年年\"）\n```\n\n**完整示例**：\n\n```typescript\ndayjs('2024-06-15 14:30:00').format('YYYY年LY年LM月LD日 Lh')\n// => \"2024年二〇二四年五月初十日 未\"\n\ndayjs('2024-06-15').format('YYYY年LGZY年')\n// => \"2024年甲辰年\"\n```\n\n#### dayjs.lunar() 工厂方法\n\n```typescript\n// 创建农历日期\nconst d = dayjs.lunar(2024, 5, 15);  // 农历2024年五月十五\nd.format('YYYY-MM-DD');\n// => \"2024-06-20\"\n\n// 闰月支持（负数月份）\nconst leap = dayjs.lunar(2023, -2, 15);  // 2023年闰二月十五\nleap.format('YYYY-MM-DD');\n// => \"2023-04-05\"\n```\n\n### 农历转换\n\n```typescript\nimport { solarToLunar, lunarToSolar, getLunarInfo } from \"@builden/bd-lunar\";\n\n// 阳历转阴历（getLunarInfo 的别名，两者等价）\nconst info = solarToLunar(new Date('2026-03-04'));\n// 或\nconst info2 = getLunarInfo(new Date('2026-03-04'));\n\n// 返回字段说明\nconsole.log(info);\n// => {\n//   year: 2026,           // 农历年\n//   month: 1,            // 农历月（1-12，负数表示闰月）\n//   day: 16,             // 农历日（1-30）\n//   yearInChinese: '二〇二六',   // 农历年中文\n//   yearInGanZhi: '丙辰',       // 农历年天干地支\n//   monthInGanZhi: '丙寅',      // 农历月天干地支\n//   dayInGanZhi: '丙子',       // 农历日天干地支\n//   monthInChinese: '正月',      // 农历月中文（含闰前缀）\n//   dayInChinese: '十六',       // 农历日中文\n//   timeZhi: '寅',            // 时辰地支\n//   timeInGanZhi: '甲寅'       // 时辰天干地支\n// }\n\n// 阴历转阳历\nconst solar = lunarToSolar(2026, 1, 16);\nconsole.log(solar);\n// => Date 对象\n\n// 阴历转阳历（带时间）\nconst solarWithTime = lunarToSolar(2026, 1, 16, 14, 30, 0);\nconsole.log(solarWithTime);\n// => Date 对象\n```\n\n**注意**：`solarToLunar` / `getLunarInfo` 只接受 `Date` 对象参数，不支持传年月日数字。\n\n### 时辰计算\n\n```typescript\nimport { getShichen, getTimeZhi, SHICHEN_LIST } from \"@builden/bd-lunar\";\n\n// 获取当前时辰（带\"时\"后缀）\nconst shichen = getShichen(new Date());\nconsole.log(shichen);\n// => \"寅时\"\n\n// 获取当前时辰地支（不带\"时\"后缀）\nconst zhi = getTimeZhi(new Date());\nconsole.log(zhi);\n// => \"寅\"\n\n// 十二时辰列表\nconsole.log(SHICHEN_LIST);\n// => [\"子时\", \"丑时\", \"寅时\", ...]\n```\n\n## 类型\n\n详见 `dist/index.d.ts`\n","readmeFilename":"README.md"}