px普贤教程PuXian
普贤教程 › 包参考

lunar 包

农历(1900-2100)公历互转(qg-issue 06 T3 收编)

农历(1900-2100)公历互转(qg-issue 06 T3 收编)

项值
包名lunar
版本0.1.0
入口lunar.px
分类时间与日历
文件数 / 行数1 / 186

安装与引入

bash
pxpkg init          # 首次
pxpkg add lunar@0.1.0
pxpkg install
px
import lunar
所属分类教程:时间与日历

公开接口

函数参数
lr_leap_monthy
lr_month_daysy, m, leap
lr_year_daysy
lr_solar_to_lunary, m, d
lr_lunar_to_solary, m, d, leap
lr_md_in_yearm, d, solar_year
其余 6 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
lr_infoy
lr_leap_daysy
lr_isleapy
lr_mdaysy, m
lr_civily, m, d
lr_un_civiln, out

包内说明(源码头注释)

text
============================================================
普贤标准库:std.lunar —— 农历(1900-2100)公历互转(qg-issue 06 T3 收编)
------------------------------------------------------------
纯函数(无 IO/无状态),双模式一致。随发布包分发:import std.lunar。
数据:1900-2101 每年正月初一相对 1900-01-31 的天数偏移表 + 1900-2100 农历年表
(闰月 + 各月大小),源自寿星天文历天文推算(sxtwl 逐日扫描生成并逐年
对拍校验,0 误差)。
入口:
lr_solar_to_lunar(y, m, d) -> {ok, year, month, day, leap}
公历 y/m/d -> 农历(year 为农历年号;leap 是否闰月)
lr_lunar_to_solar(y, m, d, leap) -> {ok, year, month, day}
农历 y/m/d(+闰月) -> 公历
lr_md_in_year(m, d, solar_year) -> {ok, year, month, day}
某公历年内"农历 m 月 d 日"的落点(ws-todo lunar:8-8 重复规则场景)
lr_leap_month(y) / lr_year_days(y) / lr_month_days(y, m, leap)
边界:范围 1900-2100;超出返回 {ok:false, error}。
============================================================
---- 1900-2101 每年正月初一距 1900-01-31 的天数(202 项;末项供 2100 年天数)----